大佬教程收集整理的这篇文章主要介绍了在将C DLL包含到C#中时,对PInvoke函数的调用使堆栈不平衡,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
C#包含代码:
using System; using System.Runtime.Interopservices; using System.IO; namespace TESTConsoleGrids { class Program { [DllImport("LibNonthreaded.dll",EntryPoint = "process")] public unsafe static extern void process( long high,long low); static void Main(String[] args) { System.Console.WriteLine("StarTing program for 3x3 grid"); process( (long)0,(long)0 ); System.Console.ReadKey(); } } }
extern "C" __declspec(dllexport) void process( long high,long low ); void process( long high,long low ) { // All code commented out }
Visual studio生成了dllmain代码(我不明白这个构造,所以我包括它)
// dllmain.cpp : Defines the entry point for the DLL application. #include "stdafx.h" BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved ) { switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE; }
例外的细节是:
以上是大佬教程为你收集整理的在将C DLL包含到C#中时,对PInvoke函数的调用使堆栈不平衡全部内容,希望文章能够帮你解决在将C DLL包含到C#中时,对PInvoke函数的调用使堆栈不平衡所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。