<div> </div> <div>안녕하세요 ㅠㅠ c++로 작성된 코드를 c#에서 사용해야하는 문제가 있어 며칠째 진행중인데 해결되지가 않네요 ㅠㅠ</div> <div> </div> <div>c++ 코드에서는 함수포인터를 정의해 놓고</div> <div> </div> <div>LoadLibrary를 사용하여 dll파일을 로드한 뒤</div> <div>GetProcAddress를 사용하여 함수를 할당해주어</div> <div>void 형식의 함수를</div> <div>(함수포인터)(parameter1, parameter2) 이런 형식으로 사용합니다.</div> <div> </div> <div>////해당 코드</div> <div>typedef void (_stdcall *oupfuncPtr)(short portaddr, short datnum);</div> <div> </div> <div>oupfuncPtr oup32;<br>HINSTANCE hLib;</div> <div> </div> <div>hLib = LoadLibraryA("dll파일"); // 라이브러리 로딩</div> <div>oup32 = (oupfuncPtr)GetProcAddress(hLib, "Out32");</div> <div> </div> <div> // use<br> short portNumber = 1;</div> <div> short portData = 0;<br> (oup32)(portNumber, portData);</div> <div> </div> <div> </div> <div> </div> <div>이 부분을 c#에서 그대로 사용하기 위해서 </div> <div>"kernel32.dll"을 DllImport하여 LoadLibrary, GetProcAddress, FreeLibrary 사용하고</div> <div>delegate이용하여 함수 포인터 선언까지는 오류나지 않고 성공한듯 했습니다.</div> <div> </div> <div>그런데 이제 함수를 사용할 때 c++과 동일한 형식으로 (함수포인터)(parameter1, parameter2) 이렇게 사용하려고 하니 함수포인터 부분에서</div> <div>'형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하십시오'오류가 나면서 사용이 되지 않습니다. </div> <div> </div> <div>혹시 c#에서 사용할 때 다른 방식으로 사용하여야 하는건지요?ㅠㅠ</div> <div> </div> <div>도움을 부탁드립니다. 제발 저를 퇴근시켜주세요 </div> <div> </div> <div> </div>