
真的不想在看雪问这种很低级的问题,自己也在问之前百度了好长时间,也按照上面说的方法自己试过了,没有搜到c写的dll在汇编中使用的例子,大多数是在vb中或者java,c++中使用
甚是疑惑对于c++,c,vc,vc++,MFC,c的sdk,这些区别,自己耶搜到一些关于这些的
VC++是WinDOS下开发人员使用的专业C++ SDK(SDK,Standard SoftWare Develop Kit,专业软件开发平台),VC++只是一个编译器,或者说是一种编译器+源程序编辑器的IDE,WS,PlatForm
MFC就是挂在VC++之上的一个辅助软件开发包
C++是一种程序设计语言,是一种大家都承认的软件编制的通用规范,c也是一样的,vc是c的sdk
Pascal是Delphi的语言基础,Delphi使用Pascal规范来进行Win下应用程序的开发和编译
Basic语言在VB开发出来被应用的年代已经成了Basic语言的新规范,VB新加的Basic语言要素,如面向对象程序设计的要素,是一种性质上的飞跃,使VB既是一个IDE,又成长成一个新的程序设计语言
看了上面的一些心里大概明白了一些
下面的是在罗的书中看到的:关于不同语言之间的dll调用问题
vc和win32汇编使用的名字修饰约定是相同的,vc中使用win32汇编写的dll函数,只要在头文件中加上_stdcall
vc写的dll只要将函数定义为stdcall的方式,就可以了
罗写的很明白,可是我没写过c中的dll,对这些名字约定甚是迷惑
写了一个简单的dll()
#include <windows.h>
_stdcall CALLBACK MySum(int a,int b);
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
return TRUE;
}
_stdcall CALLBACK MySum(int a,int b);
{
return a+b;
}
vc编译提示missing function header (old-style formal list?)

放弃之
继续百度,找到dll的调用分位显示和隐式调用
这是我找到的关于dll编写的
279K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3S2A6i4K6u0W2j5X3q4A6k6s2g2Q4x3X3g2U0L8$3#2Q4x3V1k6Z5P5s2A6G2L8W2)9J5c8X3u0D9L8$3N6Q4x3V1k6A6N6r3g2E0i4K6u0r3y4K6x3K6x3$3q4X3x3o6p5^5x3h3p5I4k6e0b7H3k6e0q4U0z5e0f1^5x3K6x3&6i4K6u0W2K9s2c8E0L8q4)9J5y4X3&6T1M7%4m8Q4x3@1t1`. 不懂c++,放弃
继续百度,找到一篇c写的DLL供vb调用的
308K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3u0D9L8$3N6Q4x3X3g2U0M7$3c8F1i4K6u0W2L8X3g2@1i4K6u0r3M7$3N6F1j5i4N6Q4x3V1k6S2M7X3y4Z5K9i4k6W2i4K6u0r3x3U0l9H3y4W2)9J5c8U0p5J5i4K6u0r3x3o6N6Q4x3V1j5I4y4o6x3K6x3K6b7K6i4K6u0W2j5i4y4H3P5l9`.`.
#include <windows.h>
#include "MyDLL.h"
int WINAPI DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved)
{
return TRUE ;
}
__stdcall int CALLBACK MySum(int a,int b)
{
return a+b;
}
/**//*----------------------
MyDLL.h 文件
----------------------*/
#ifdef __cplusplus
extern "C" {
#endif
__stdcall int CALLBACK MySum (int, int) ;
#ifdef __cplusplus
}
#endif
;
; MyDLL.def 文件
;
LIBRARY "MyDLL"
EXPORTS
MySum @1
成功编译出dll,感到很欣慰,但是win32是从右开始入栈,而vb好像是从左
已经持续一天了,还是没搞出来

这种对有这经验的人来说是好简单,没遇到过所以觉的很难
希望提供一个具体的例子



要隐式调用的,
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课