所以经过大约一天半的时间我就没有取得进展.
我需要在C中编写一个DLL,用于现有应用程序的插件.DLL必须由Visual Studio 2008编译器使用以下选项进行编译
cl -DNT40 -DPOMDLL -DCRTAPI1 = _cdecl -DCRTAPI2 = cdecl -D_WIN32 -DWIN32 -DWIN32_LEA N_AND_MEAN -DWNT -DBYPASS_FLEX -D_INTEL = 1 -DIPLIB = none -I.-I"C:\ plm\2T-RAC\TcEx press53\include"-I"C:\ Program Files(x86)\ Microsoft Visual Studio 8\VC\include"-c -nologo -EHsc -W1 -Ox -Oy - -MD C:\ mydir\myDll.c
然后它链接到应用程序库.
它实际需要做什么以及是什么导致我的问题是,它需要从sql server 2008 r2中提取数据的其中一种方法.
从我今天看到的情况来看,你无法直接在C中做到这一点,因为2005年以后的SQL Server旨在与CLR语言(C#,C++,VB.Net)进行通信.
有人建议我使用VB.Net dll处理所有数据库通信,然后从C dll中调用所述函数.
我在非托管代码中调用托管dll主题的大部分内容都谈到了pinvoke或com包装器,主要是从c ++的角度来看.
我没有使用COM或任何提到的技术的经验,所以如果有人可以帮助它将非常感激.