일부 함수 정의로 확장하려는 프로그램을 작성 중입니다. 프로그램을 컴파일하는 방법 중 하나는 코드를 주 코드에 연결하는 단일 실행 파일을 만드는 것입니다. 문제는 정의 할 함수 중 하나가 선택 사항이며이를 테스트해야한다는 것입니다. 리눅스에 런타임에 프로그램에 함수가 있는지 확인하십시오.
, 여기에 내가 뭐하는 거지입니다 :는 "-rdynamic"옵션을 사용하여 프로그램을 컴파일 LD에 g ++ 또는 "--export 동적"옵션. 그런 다음, 다음과 같이 ldsym 사용
fct_type myfct = (fct_type)dlsym(RTLD_DEFAULT, "fct");
를 함수가 "FCT는"프로그램에있는 경우,이, 그렇지 않으면 NULL 반환의 주소를 반환합니다.
dll_handle = GetModuleHandle(0);
fct_type myfct = (fct_type)GetProcAddress(dll_handle, "fct");
을하지만 아무도 "-rdynamic"또는 "--export 동적"옵션이 없습니다 g ++ MinGW32에에 :
는 이제 Windows에서, 나는 그렇게 할 수 있어야하고! 그래서 이것은 효과가 없습니다. MinGW32를 사용하여 Windows에서 무엇을해야할지 모르는 사람이 있습니까?