水木社区手机版
首页
|版面-编程技术(Programming)|
新版wap站已上线
返回
1/1
|
转到
主题:MacOS上C++能否调用C#代码?
楼主
|
z16166
|
2022-01-14 12:24:04
|
展开
只讨论进程内调用。因为用C#单独写一个可执行程序给C++调用肯定是没问题的。
Windows上是没问题的,用VC提供的interop,或者通过COM DLL方式。
还有一个库可以让C#导出接口给C++用,不知道这个库是否能支持macos
https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports
--
FROM 114.245.195.*
2楼
|
z16166
|
2022-01-14 17:59:06
|
展开
用C++/CLI中转一下应该可以。3Q
https://www.codeproject.com/Articles/556582/UsingplusC-plusfromplusnativeplusC-b-bpluswith
【 在 hgoldfish 的大作中提到: 】
: dotnot c*re 没有 managed c++ 了吗?
:
--
FROM 114.245.195.*
3楼
|
z16166
|
2022-01-15 10:56:37
|
展开
翻了一下文档, c++/cli不支持macos、linux
--
FROM 114.245.195.*
9楼
|
z16166
|
2022-01-15 19:04:50
|
展开
原始需求是调用MS的openxml sdk,这货是开源的,但是只有C#的。
如果这条路走不通,那就用zip + xml库自己裸解析了。
【 在 KillnCov 的大作中提到: 】
: 另外, 如果不怕软件包大,可以直接用mono,C++通过mono直接调用C#的dll。
: mac安卓linux都可以
--
FROM 114.245.195.*
10楼
|
z16166
|
2022-01-15 19:06:29
|
展开
这些我昨天翻过,有些是C#调用C++的。unmanagedexports那个的实现还没细看。
最终应该都会落到C++/CLI上,依赖VC编译器。
【 在 DoorWay 的大作中提到: 】
:
https://docs.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke
: 函数指针。c#里叫delegate.
: 文档里先讲 C#调用cpp, [DllImport("user32.dll")] , 声明个extern函数,告诉runtime,调用时从指定的dll中找。
: ...................
--
修改:z16166 FROM 114.245.195.*
FROM 114.245.195.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版