编译驱动程序是,能把动态链接库变成静态链接库吗?
DLL可以,把我们的SOURCE文件中的TARGETTYPE=DYNLINK改成TARGETTYPE=LIBRARY就可以。SYS文件不行!
我生成了静态链接库,在安装和开发应用程序的时候有什么变化?
静态库在连接的时候,把原来调用DLL动态库中的函数都嵌到应用程序,所以经过静态库连接的时候就不需要DLL动态库,但是如果库函数改变的话,还要重新编译程序,DLL动态库只要替换一下文件就行。
谢谢
1.编译静态链接库,是否仍然用DDK? 2.在制作安装程序的时候,生成的静态链接库是否需要拷贝到系统目录下? 3.
1.是的 2.不需要拷,代码都被连接器连接到你的程序中了。
BOOL WINAPI CH365ReadMemByte( // 从存储器读取一个字节 PVOID iAddr, // 指定存储器的地址,虚拟地址 PUCHAR oByte ); // 指向一个字节单元,用于保存读取的字节数据
这里的虚拟地址试什么含义?
HANDLE mGamesHANDLE; mPCH365_MEM_REG *oMemBaseAddr;
mGamesHANDLE=CH365OpenDevice(TRUE,TRUE);
CH365GetMemBaseAddr( // 获取存储器的基址 oMemBaseAddr ); 这段测试代码,执行到CH365GetMemBaseAddr的时候,说访问违例。信息试:Unhandled exception in test1.exe(CH365DLL.DLL):0xC0000005:Access Violation. 这是什么原因?
要下面这样写 mPCH365_MEM_REG oMemBaseAddr; CH365GetMemBaseAddr( // 获取存储器的基址 &oMemBaseAddr );
1、请问,在Windows XP系统下,如何编写终端响应程序。我用的VC++; 2、为什么我用VC++读取的中断号与计算机系统中给出的中断好不一致。
1、Windows 编程您可以参考相关图书 2、CH365 VC编程可参考 DEBUG365 源码,中断部分编程可参考 INTER2 源码,都在CH365EVT.ZIP中
我用静态链接库的时,编译出现如下信息,是为什么? 静态链接库是你们提供的。
Generating Code... Linking... CH365DLL.LIB(ch365dll.obj) : error LNK2001: unresolved external symbol __imp__SetupDiDestroyDeviceInfoList@4 CH365DLL.LIB(ch365dll.obj) : error LNK2001: unresolved external symbol __imp__SetupDiGetDeviceInterfaceDetailA@24 CH365DLL.LIB(ch365dll.obj) : error LNK2001: unresolved external symbol __imp__SetupDiEnumDeviceInterfaces@20 CH365DLL.LIB(ch365dll.obj) : error LNK2001: unresolved external symbol __imp__SetupDiGetClassDevsA@16 Debug/test3.exe : fatal error LNK1120: 4 unresolved externals 执行 link.exe 时出错.
可发邮件至 zyw@wch.cn 询问
把SETUPAPI.LIB加到工程中!这几个函数是系统函数,我们库中调用了。
遇到某个API函数不能连接时,先到MSDN上找到这个函数,在这个函数的说明文档最下面有个Import Library: Link with setupapi.lib,这个setupapi.lib就是调用SetupDiXXXX函数是要加到工程中的库。