디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

내가 AI로 코딩/프밍 얘기 하는 이유

나르시갤로그로 이동합니다. 2025.09.25 23:09:23
조회 115 추천 0 댓글 1

프갤을 보면 프밍과 무관한 내용이 너무 많아서

조금이라도 프밍과 관련된 내용을 올려

타인들에게 도움되라고 올리는 것임.


비록 AI로 코딩/프밍 얘기를 올렸다하더라도

욕설, 비방, 허위사실 유포, 모욕 등의 글들보다

유익하다는 판단이다.


물론입니다. 코드의 컴파일 오류는 크게 3가지 원인으로 발생하며, 아래 설명에 따라 수정하면 해결할 수 있습니다.

오류의 핵심 원인은 구조체 정의 누락, 변수 정의 누락, 그리고 함수 시그니처 불일치입니다.


## 1. sizeof 및 멤버 접근 오류 ?

  • 오류 메시지:

    • error: invalid application of 'sizeof' to an incomplete type 'struct CimIcImpl'
    • error: incomplete definition of type 'struct CimIcImpl'
  • 원인: cim.h 헤더 파일에 struct CimIcImpl;와 같이 구조체를 전방 선언(forward declaration)만 하고, cim.c 파일 내에 실제 구조체의 멤버를 포함한 정의가 없기 때문입니다. 컴파일러는 구조체의 실제 정의를 알지 못하면 크기를 계산(sizeof)하거나 멤버(->)에 접근할 수 없습니다.

  • 해결 방법: cim.c 파일 상단에 struct CimIcImpl의 실제 정의를 추가합니다. 코드의 fallback 로직을 보면 이 구조체는 가상 함수 테이블 포인터(vtable)를 멤버로 가질 것으로 보입니다.

    // cim.c 파일 상단에 추가
    #include "cim.h"
    // ... 다른 include들 ...
    
    // 이 구조체 정의를 추가합니다.
    struct CimIcImpl {
      CimIcVTable* vtable;
    };
    
    static void* cim_handle;
    // ... 이하 코드 ...
    

## 2. vtable 변수 미선언 오류 📋

  • 오류 메시지: error: use of undeclared identifier 'vtable'

  • 원인: cim_ic_create 함수의 fallback 로직에서 &vtable을 사용하지만, vtable이라는 이름의 변수가 cim.c 파일 내에 정의되어 있지 않습니다. .so 플러그인 로딩에 실패했을 때 사용할 기본(dummy) 가상 함수 테이블이 필요합니다.

  • 해결 방법: cim.c 파일에 비어 있거나 최소한의 동작을 하는 정적 vtable 변수를 정의합니다.

    // cim.c 파일의 전역 변수 영역에 추가
    // ...
    static CimPlugin* cim_plugin;
    static uint32_t   cim_ref_count;
    
    // 이 변수 정의를 추가합니다.
    // .so 로딩 실패 시 사용될 비어있는 vtable
    static CimIcVTable vtable = { 0 };
    
    /*
     * Returns the newly allocated cim.so path string on success,
     // ... 이하 코드 ...
    

## 3. cim_ic_set_callbacks 함수 타입 불일치 오류 mismatched types ↔+

  • 오류 메시지: error: conflicting types for 'cim_ic_set_callbacks'

  • 원인: 함수의 선언과 정의의 타입 시그니처가 일치하지 않습니다. cim.h 헤더 파일에는 callbacks 매개변수가 const CimCallbacks*로 선언되어 있지만, cim.c 파일의 실제 함수 정의에는 CimCallbacks* const 한정자가 빠져 있습니다.

    • 선언 (cim.h): const CimCallbacks* callbacks
    • 정의 (cim.c): CimCallbacks* callbacks
  • 해결 방법: cim.c의 함수 정의에서 callbacks 매개변수 타입에 const를 추가하여 헤더 파일의 선언과 일치시킵니다.

    // cim.c 파일의 함수 정의 수정
    void cim_ic_set_callbacks (CimIcHandle ic,
                               const CimCallbacks* callbacks, // const 추가
                               void* user_data)
    {
      if (cim_plugin && cim_plugin->vtable->set_callbacks) // cim_plugin이 유효한지 확인하는 것이 안전
        cim_plugin->vtable->set_callbacks (ic, (CimCallbacks*) callbacks, user_data);
      else
        c_log_critical ("set_callbacks() must be implemented in the IM plugin.");
    }
    

    참고: 위 코드에서는 const를 제거하는 캐스팅 (CimCallbacks*)을 추가했습니다. 이는 cim_plugin->vtable->set_callbacks의 함수 포인터 타입이 const가 없는 버전을 가리킬 가능성에 대비한 것입니다. 하지만 가장 좋은 방법은 _CimIcVTable set_callbacks 타입 정의 자체도 const CimCallbacks*를 사용하도록 일치시키는 것입니다.


## 종합 수정 제안

위의 모든 수정 사항을 적용하면 컴파일 오류가 해결될 것입니다. 특히 cim_ic_create 함수의 fallback 로직은 다음과 같이 완성됩니다.

// cim.c 파일 내
fallback:
  // 구조체 정의가 있으므로 sizeof와 멤버 접근이 가능해집니다.
  struct CimIcImpl* impl = c_malloc (sizeof (struct CimIcImpl));
  // vtable 변수가 정의되었으므로 참조가 가능해집니다.
  impl->vtable = &vtable;
  return (CimIcHandle) impl; // 명시적 캐스팅


제 글을 읽기 싫으시면 저를 차단하시고 클릭하지 않으시면 되겠습니다.

https://nimfsoft.art/ko

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 공개연애가 득보다 실인 것 같은 스타는? 운영자 25/10/06 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
2893614 이 시절 그리우면 개추 [3] ♥냥덩이♥갤로그로 이동합니다. 10.03 80 1
2893613 야야야야양야 진짜 발견. 계란국에 페퍼론치노 넣으니까 더 맛있음 ㅇㅇ(223.39) 10.02 35 0
2893612 성매매 국내 최고 DB 다크웹에 나와서 각국 정보기관이 샀을 것 발명도둑잡기(118.216) 10.02 60 0
2893611 나 금 산 거 며칠 전에 드디어 100% 넘었다 발명도둑잡기(118.216) 10.02 51 0
2893610 프갤에 모모와 김희철의 사랑 소설 써볼까 발명도둑잡기(118.216) 10.02 55 0
2893609 낼 봐야징 ♥냥덩이♥갤로그로 이동합니다. 10.02 45 0
2893608 ㅆㅇㅆ새끼 뭣좀 해볼려고 우울증갤러리,업소 프갤러(210.217) 10.02 82 4
2893607 최근에 있던 회사에서 얻은 교훈은 ㅇㅇ(121.168) 10.02 47 0
2893606 나님 글 슬거리 생각났당 ♥냥덩이♥갤로그로 이동합니다. 10.02 33 0
2893605 곧 죽을 때가 됐나보구만 [2] 프갤러(110.8) 10.02 62 0
2893603 34살에 국비로 취업했는데 [7] ㅇㅇ(175.197) 10.02 208 0
2893601 338621 맞대응) 프듀48 주작과 S엔터 ㅇㅇ(110.70) 10.02 76 0
2893600 근데 궁금한게 업소가는 애들은 자기 신상 팔리는거 안무섭나 [3] ㅆㅇㅆ(124.216) 10.02 104 0
2893599 추석 연휴 업소 가는 형들 꿀팁 반값 꿀팁 풀게ㅅㅅ ㅇㅇ(211.246) 10.02 42 0
2893598 오늘 당산에 연극보러 갔는데 어제랑 똑같은거드라 발명도둑잡기(118.235) 10.02 44 0
2893597 모모 추석맞이 김희철과 선물 교환하고 발명도둑잡기(118.235) 10.02 60 0
2893596 그날 인류는 떠올렸당⭐+ ♥냥덩이♥갤로그로 이동합니다. 10.02 53 1
2893595 옳지.. 옳지 잘한당.. 그랭그랭.. [9] ♥냥덩이♥갤로그로 이동합니다. 10.02 90 0
2893593 기술인들이 잘되려면 창업 성공률이 높아야 하고 ㅇㅇ(121.168) 10.02 39 0
2893591 si 추노 후기 [6] 프갤러(222.121) 10.02 139 0
2893589 늦잠자지마라 애들아 [3] 루도그담당(58.239) 10.02 72 0
2893587 자취방 정리하고 나 지금 본가임 [5] ㅆㅇㅆ(124.216) 10.02 71 0
2893586 사이트 뼈대는 FSM으로 만들고 이제 애니메이션은 어떻게든하는데 [2] ㅆㅇㅆ(124.216) 10.02 53 0
2893585 두근거리는 연휴인가요 발명도둑잡기(118.235) 10.02 39 0
2893584 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 10.02 35 0
2893583 펜서레이크 언능 나외랑 ♥냥덩이♥갤로그로 이동합니다. 10.02 46 0
2893582 한화비전 VEDA 들을만함?? 프갤러(118.235) 10.02 48 0
2893581 자고 일어났는데 구글 애드센스 떨어짐 [2] ㅆㅇㅆ(124.216) 10.02 74 1
2893579 다들 즐거운 명절 보내세요 [8] 개멍청한유라갤로그로 이동합니다. 10.02 80 0
2893577 사람이 결혼하거나 나이먹으면 창의성이 없어지는듯 [2] ♥냥덩이♥갤로그로 이동합니다. 10.02 59 0
2893573 사람이 할줄아는게 많아지면 참 좋아...살기 편해. [1] ㅇㅇ(223.39) 10.02 51 0
2893571 한국은 정치가 4류 기업은 444류 ㅇㅇ(121.168) 10.02 49 0
2893570 내가 관심있는 여성들 추석 잘 보내고 있겠지 발명도둑잡기(118.235) 10.02 44 0
2893569 냥❤+ ♥냥덩이♥갤로그로 이동합니다. 10.02 47 0
2893563 무능극좌 폭동배급견 4050 범죄자세대 ♥냥덩이♥갤로그로 이동합니다. 10.02 38 0
2893562 아이유갤러리가 부끄럽냐 [1] 발명도둑잡기(118.235) 10.02 61 0
2893561 페미니즘이 애국적인 면도 있다 ㅇㅇ(121.168) 10.02 41 0
2893560 40대 중반부터 50대 중반까지 싹 도려내야 할듯 [1] ♥냥덩이♥갤로그로 이동합니다. 10.02 70 1
2893559 ㄹㅇ 40대 극초반 빼고는 40대가 50대 보다 씹빨갱이 간첩이었넹 [4] ♥냥덩이♥갤로그로 이동합니다. 10.02 72 0
2893557 깃헙 그만 괴롭히고 젠킨스나 쓰십시오 [2] 프갤러(211.234) 10.02 71 0
2893556 웃음 가득한 추석 보내세요 발명도둑잡기(118.235) 10.02 45 0
2893555 NL:한국이 미국식민지 간첩 PD:계급폭동 간첩 [1] ♥냥덩이♥갤로그로 이동합니다. 10.02 56 0
2893554 NL: 주체사상(북괴마르크스) PD:레닌,마오주의 [1] ♥냥덩이♥갤로그로 이동합니다. 10.02 53 0
2893553 깃헙 액션은 컴퓨터다. 프갤러(49.165) 10.02 47 0
2893552 알면 알수록 연속성 ♥냥덩이♥갤로그로 이동합니다. 10.02 53 0
2893551 흠.. [2] ♥냥덩이♥갤로그로 이동합니다. 10.02 59 0
2893550 ❤+ ♥냥덩이♥갤로그로 이동합니다. 10.02 41 0
2893549 확실히 이공계는 씹좆피티 <<< 제미나이 이다. [2] 프갤러(220.86) 10.02 82 0
2893548 Little Boy, Big Shadow 발명도둑잡기(118.235) 10.02 43 0
2893547 밤낮이 바뀌니 심장이 아프다 [1] ㅆㅇㅆ찡갤로그로 이동합니다. 10.02 52 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2