gpt4 book ai didi

c# - 将带有 C 和 asm 代码的程序转换为 DLL

转载 作者:太空宇宙 更新时间:2023-11-04 03:01:11 25 4
gpt4 key购买 nike

我的算法包含 C 和 asm 代码。我需要在 C# 应用程序中调用此算法。我想知道是否可以将 C 和 asm 代码转换为 DLL,然后在 C# 控制台应用程序中调用它。但我很不清楚如何将耦合的 C 和 asm 代码算法转换为 DLL。任何帮助表示赞赏。

我知道如何使用 PInvoke 在 C# 中调用 DLL。我的问题是将组合的 C 和 asm 代码转换为 DLL。当我尝试使用 extern "C"和 dllexport 时,VS 2010 不断出现错误。有超过90个错误!!大多数错误是那些提示 C++ 不支持我使用的东西(尽管它们在 C 中有效)。例如,这行代码:

const u8 *error_string_base="ERROR: "; 

给出一个

error C4430: missing type specifier -int assumed. Note C++ does not support default-int

最佳答案

是的,您可以从 C# 调用 DLL 中的非托管代码。

Platform Invocation Services (PInvoke) allows managed code to call unmanaged functions that are implemented in a DLL.

http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx

您可能想查看主题直接从 C# 调用 DLL 导出

http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx#pinvoke_callingdllexport

更新(基于您的编辑)

在 C 模式而不是 C++ 模式下编译您的应用程序

转到属性 -> c/c++ -> 高级 -> 编译为并选择“c”

关于c# - 将带有 C 和 asm 代码的程序转换为 DLL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11553248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com