저는 Mathematica 8.0에서 공유 라이브러리로 컴파일 된 C++ 함수를로드하려고합니다. MathLink를 사용하여 C 함수를 사용했지만 MathLink는 C++ 함수를 지원하지 않는 것 같습니다. 그래서 공유 라이브러리를 생성하여 LibraryLink를 통해로드하려고 시도했지만 LibraryFunctionLoad는 C++ 함수를로드 할 수없는 것 같습니다. Mathematica에서 C++ 함수를 사용하는 사람은 누구나 관리 할 수 있습니까? 그렇다면 그것을 작동시키기 위해해야 할 트릭은 무엇입니까?C++ 공유 라이브러리를 Mathematica 8.0에로드 할 수 있습니까?
2
A
답변
2
코드는 C++
코드가 내보내는 기호의 맹 글링을 사용합니다.
내 보낸 심볼의 일부로 네임 스페이스, 클래스 이름, 반환 유형, 이름 및 매개 변수를 인코딩합니다. 이 함수라는 것을 의미합니다 : 같은 같은
int hello(int x, int y, int z)
수출이 :
_Z5helloiii
이 리눅스에 ++ g에 이루어졌다, 창은 다른 맹 글링 방식이있다.
, 당신은이 MathLink
그래서 다음을 사용
와 호환되는 형식으로 내보낼 수 일으키는extern "C"
메커니즘의 기능을 래핑 기능은 C 호환 방식으로 수출되는 것을 보장하기 위해, 헤더 :
#ifdef __cplusplus
extern "C" {
#endif
int hello(int x, int y, int z);
#ifdef __cplusplus
}
#endif
만큼 당신이 #include
당신의 C++
구현이 헤더, 그것은 제대로 연결해야합니다으로 MathLink
관련 문제
- 1. 정적 라이브러리를 연결하여 공유 라이브러리를 구축 할 수 있습니까?
- 2. 공유 라이브러리를 서로 공유 라이브러리 공유 C++
- 3. Oracle 원시 컴파일 링 공유 라이브러리를 재사용 할 수 있습니까?
- 4. gfortran을 사용하여 공유 라이브러리를 만들 수 있습니까?
- 5. 이 공유 라이브러리를 CMakeLists.txt에 어떻게 추가 할 수 있습니까?
- 6. 공유 라이브러리에 공유 라이브러리를로드 할 수 있습니까?
- 7. 런타임 공유 라이브러리를 JavaScript로로드하여 사용할 수 있습니까?
- 8. GAE에서 공유 파이썬 라이브러리를 사용할 수 있습니까?
- 9. 공유 라이브러리를 사용하도록 liberty dropin 앱을 구성 할 수 있습니까?
- 10. jar 라이브러리를 amazon elastic mapreduce와 어떻게 공유 할 수 있습니까?
- 11. UNIX 공유 라이브러리를 단일 라이브러리로 병합 할 수 있습니까?
- 12. 공유 라이브러리와 정적 라이브러리가 모두있는 공유 라이브러리를 만들 수 있습니까
- 13. C 프로그램에서 C++ 라이브러리를 사용할 수 있습니까?
- 14. 공유 라이브러리를 찾을 수 없습니다 (java.lang.UnsatisfiedLinkError)
- 15. MATLAB에서 공유 라이브러리를 만드는 경험이 있습니까?
- 16. centos6에 C++ 11 공유 라이브러리를 배포하는 방법
- 17. C++ 공유 라이브러리를 gcc와 연결하는 방법
- 18. 공유 라이브러리를 클러스터의 C++ 프로젝트에 연결
- 19. g ++에서 공유 라이브러리를 찾을 수 없습니다.
- 20. DevExpress : 공유 할 수 있습니까?
- 21. Mathematica : 동적 메뉴 수
- 22. C++ 공유 라이브러리를 빌드 할 때 오류가 발생하는 matlab deploytool
- 23. 왜 파이썬이 공유 라이브러리를 모듈로 가져올 수 있습니까?
- 24. C++ 프로젝트에서 공유 동적 라이브러리를 사용하려면 어떻게해야합니까?
- 25. 정적 라이브러리가있는 공유 라이브러리를 만들 수 없습니다.
- 26. 리눅스 : 프로세스간에 코드를 공유 할 수 있습니까?
- 27. 왜 내 공유 라이브러리를 찾을 수 없습니까?
- 28. 공유 라이브러리를 bash 터미널에로드하기
- 29. 공유 라이브러리를 포함한 오류
- 30. Mathematica - 단일 변수를 사용하여 코드 블록을 정의 할 수 있습니까?
당신은 포장 가능 C 라이브러리의 C++ 라이브러리? – yiding
'extern "C"'를 사용하여 C++을 다시 컴파일 할 수 있습니까? – Shai