关于这个实例得得问题:
yqlws 2003-06-01 07:26:02
由于初学vc没有什么经验 遇到了些困难 又些东西难以理解 想在此问问个位前辈!
前面一些步骤还是可以理解得 到了说a.lib文件那里我就有点迷惘了!
1.执行前面得几步a.lib文件是自动随之生成地吗还是要我自己建立。我怎么没有找到a.lib文件 无论是否在vc标准地lib文件夹 我搜索了整个电脑都没有找到!!
2.全部建完制定文件后(除了lib文件)执行call_a.cpp文件时提示 三个错误 :都是出现 a.h文件上地
<1>syntax error : missing ';' before type 'int'
<2>'WINAPI' : missing storage-class or type specifiers
<3>unexpected end of file found
希望各位过来人能体会到我们这些初学者的苦衷!尽量帮忙解决
就是这个例子:
---- DLL中定义有两种函数:
---- 导出函数(exportfunction): 可以被其他模块调用
---- 内部函数(internalfunction): 只能在DLL内部使用
---- 创建一个基于API的DLL.本例只定义了导出函数.
---- 1.在FILE- >NEW- >PROJECTS中选择"WIN32 Dynamic-Link Library"在
Project Name中输入 "a"按OK
---- 2.在FILE- >NEW- >FILES中选择C++ SOURCE FILE,在FILE中输入a.cpp,
按OK
---- 在FILE- >NEW- >FILES中选择TEXT文件,在FILE中输入a.h,按OK
---- 在FILE- >NEW- >FILES中选择TEXT文件,在FILE中输入a.def,按OK
---- 3.源文件:
//---------------------------
//a.cpp
#include < windows >
WINAPI int add(int a,int b)
{ return (a+b);
}
//---------------------------
//a.h
WINAPI int add(int a,int b);
//---------------------------
//a.def
LIBRARY "aaa" ;指出DLL的名字
DESCRIPTION 'aaa Windows Dynamic Link Library'
;描述DLL的用途(此句可选)
EXPORTS add ;导出函数的名字
四.调用DLL的方法:
---- 1.通常我们在调用DLL时所需的DLL文件必须位于以下三个目录之一:
---- (1)Windows的系统目录:\windows\system;
---- (2)DOS中path所指出的任何目录;
---- (3)程序所在的目录;
---- 同时应注意管理好你的.lib文件和.h和文件
---- 2.建立一个工程,简单起见可建立一个控制台应用程序.
---- 3.在工程中引入a.lib:
---- (1)如果你的a.lib放在VC标准的LIB文件夹中.
单击Project- >Project Settings...
在link选卡的object/library modules中加上a.lib即可
---- (2)如果你的a.lib不是放在VC标准的LIB文件夹中
单击Project- >Add to Project- >files...
找到a.lib文件,按OK
< pre >
4.//------------------------
//call_a.cpp
#include< stdio.h >
#include "c:/a/a.h"
void main(void)
{ int c=0;
c=add(1,2);
printf("1+2=%d",c);
}
//本程序在VC5.0下调试通过