이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 2093|회답: 7

[출처] .NET 8은 C++ 다이내믹 링크 라이브러리의 함수를 호출합니다

[링크 복사]
2024-12-8 18:36:17에 게시됨 | | | |
요구사항: 일부 알고리즘 라이브러리는 C++로 개발되어 있고 C# 버전이 없습니다. C++에서 함수를 호출하기 위해 C#을 어떻게 사용할 수 있나요?

먼저, 새로운 demo.h 헤더 파일을 만들고 add addition(덧셈) 함수를 정의하세요. 코드는 다음과 같습니다:

다음 코드로 새 demo.cpp 파일을 생성하세요:

mingw64 도구를 다운로드하세요:하이퍼링크 로그인이 보입니다.

D:\mingw64 폴더로 압축을 풀고, cmd 창의 환경 변수에 mingw64/bin 폴더를 임시로 추가한 뒤, 다음 명령을 사용하세요:

다음 명령어로 g++ 명령어를 호출하여 소스 코드를 동적 링크 라이브러리로 컴파일하세요:

아래에 나와 있습니다:



두 개의 파일, demo.dll와 demo.lib이 생성됩니다.

새로운 .NET 8 콘솔 프로젝트 생성

CppSharp 패키지를 참조한 후 .csproj 프로젝트 파일은 다음과 같이 나옵니다:

ILibrary 인터페이스를 구현하기 위해 새로운 SampleLibrary 객체를 생성하면, 코드는 다음과 같습니다:

.h, . lib 파일은 C++의 함수에서 C#으로 호출할 수 있는 .cs 파일을 생성합니다. 코드는 다음과 같습니다:

아래에 나와 있습니다:



아래 이미지에서 보시는 것처럼 demo.dll 내에서 add 메서드를 호출해 보세요:



전체 코드:


소스 코드 다운로드:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답


참조:
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.





이전의:mkcert를 사용해 자가 서명 도메인 이름 인증서를 생성하세요
다음:Windows용 FastDeploy 소스 코드 컴파일도 다운로드하세요
2024-12-9 13:26:40에 게시됨 |
배우기 위해 배우세요
2024-12-9 16:32:11에 게시됨 |
와서 구경해 보세요
 집주인| 2025-4-23 10:51:21에 게시됨 |
C++ 표준 라이브러리 다운로드:하이퍼링크 로그인이 보입니다.
 집주인| 2025-4-23 16:49:21에 게시됨 |
 집주인| 2025-6-17 17:19:08에 게시됨 |
샤오 자자 2025-4-23 16:49에 게시됨
https://github.com/dotnet/ClangSharp

다음 명령어로 Docker 컨테이너를 사용해 실행하세요:

참조:하이퍼링크 로그인이 보입니다.
 집주인| 2025-6-18 09:43:12에 게시됨 |
하이퍼링크 로그인이 보입니다.
하이퍼링크 로그인이 보입니다.(Program.cs 자신의 프로젝트에 복사해서 컴파일 후에 실행하세요. 테스트 생성은 매우 간단하고 불완전합니다)

 집주인| 2025-6-18 14:05:22에 게시됨 |
SWIG(Simplified Wrapper and Interface Generator)는 C/C++ 코드를 여러 고급 프로그래밍 언어의 인터페이스 코드로 변환하는 데 사용되는 오픈소스 도구로, Python, Java, Ruby, C# 등과 같은 언어를 지원합니다. 또한 종종 언어 간 개발이나 스크립팅 언어의 성능 향상에 사용됩니다.

공식 웹사이트:하이퍼링크 로그인이 보입니다.
근원:하이퍼링크 로그인이 보입니다.
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com