明明导出的函数,无法导入

导出时是:[email protected]@[email protected]

导入时是:[email protected]@[email protected]_WU

G和_W的区别,为了研究各字母的含义。做了如下实验:

void fun()=>

[email protected]@YAXXZ

void fun(int)=>

[email protected]@[email protected]

void fun(int a,int b)=>

[email protected]@[email protected]

void fun(int a,int b,int c)

[email protected]@[email protected]

void* fun()=>

[email protected]@YAPAXXZ

void** fun()==>

[email protected]@YAPAPAXXZ

void fun(short * )

[email protected]@[email protected]

short* fun(short * )

[email protected]@[email protected]

int fun(bool,char,short int,long,float,double )

[email protected]@[email protected]

int fun(bool,char,short int,long,float )

[email protected]@[email protected]

int fun(bool,char,short int,long)=>

[email protected]@[email protected]

int fun(bool,char,short int )=>

[email protected]@[email protected]

int fun(bool,char)=>

[email protected]@[email protected]

int fun(bool )=>

[email protected]@[email protected]

int fun(bool a)=>

[email protected]@[email protected]

int fun(CString)=>

[email protected]@[email protected][email protected][email protected]@[email protected]@@@@[email protected]@@Z

typedef ATL::CStringT< TCHAR, StrTraitMFC< TCHAR > > CString;

int fun(char)=>

[email protected]@[email protected]

int fun(wchar_t)

[email protected]@[email protected]

int fun(CArray<int,int>);

[email protected]@[email protected]@@@Z

int fun(CTime)

[email protected]@[email protected]@@@Z

class CTestClass

{

};

_BMFGLOBE_EXPIMP int fun(class CTestClass);

[email protected]@[email protected]@@Z

int fun(unsigned char,unsigned int,unsigned long)

[email protected]@[email protected]

int fun(__int64)

[email protected]@[email protected]

int fun(unsigned __int64 )

[email protected]@[email protected]

总结:

1,形参有没有名字,不影响导出。

2,int->H X->void void* ->PAX void**->PAPAX short->F short*->PAF

bool->N char->D long->J float->M double->N

CTime->[email protected] CArray<int,int>->[email protected]

wchar_t(unsigned short)->G unsigned char->E ,unsigned int->I,unsigned long->K

unsigned __int64->_K

注意:

dll导出的函数可以用VC自带的depend.exe查看。

lib导出的函数可以用命令查看:

dumpbin /LINKERMEMBER  d:\Globe.lib > d:\1.txt

dumpbin是VC自动工具

开发环境:VS2002(VC7)

最后解决方法:

新加的dll 配置弄成和其他dll一样。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 11:11:07

明明导出的函数,无法导入的相关文章

导出的函数无法导入

#ifdef GLOBE_20150806 #define GLOBE_EXPIMP __declspec(dllexport) #else #define GLOBE_EXPIMP __declspec(dllimport) #endif GLOBE_EXPIMP extern std::string WideCharToMultiChar(std::wstring str);//宽字符转多字符 banlv error LNK2019: 无法解析的外部符号 "__declspec(dllimp

Windows下程序打包发布时的小技巧(使用Dependency Walker侦测不理想,改用VS自带的dumpbin则万无一失,还可查看dll导出的函数)

Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去.这个时候,快速确定这个程序到底依赖哪些动态链接库变得非常重要.很久以前写过一篇关于Qt程序安装包制作的博客,里面介绍了Dependency Walker这个小工具.但是实际操作起来并不理想,因为Dependency Walker将exe文件依赖的所有动态库以及动态库所依赖的动态库都列出来了.看得你一脸懵逼: 你很难分清楚:倒底哪些DLL是需要打包的,哪些DLL是系统自带的.而作为打包过程中的一个小步骤,我根

动态链接库中导出模板函数

动态链接库中导出模板函数 C++ 支持函数模板,利用函数模板,可以简化我们的程序代码.我在自己的代码中也经常用到函数模板,但是以前一直以为函数模板是要放到头文件中的,否则调用模板函数时,编译器会找不到函数模板的定义.今天闲暇,又翻了翻 C++ Primer,发现我以前的理解是有问题的.模板函数也可以像普通函数那样,将声明放在头文件中,定义放在.cpp 中.这时又想到另一个问题,DLL 中是否可以导出模板函数呢.如果可以的话,就可以将函数的实现代码真正隐藏起来了.经过一番实验,发现是可以的,但是有

数据泵EXPDP导出工具和IMPDP导入工具的使用

数据泵EXPDP导出工具和IMPDP导入工具的使用  一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2)在数据库用户之间移动对象. 3)在数据库之间移动对象. 4)实现表空间搬移. 二.数据泵导出导入与传统导出导入的区别 在10g之前,传统的导出和导入分别使用EXP工具和IMP工具,从10g开始,不仅保留了原有的EXP和IMP工具,还提供了数据泵

枚举导出的函数

//枚举导出的函数 // #include <idc.idc> static main() { auto entrypoints,i,ord,addr,name,purged,file,fd; file = AskFile(1,"*.idt","Select IDT save file"); //打开文件对话框 fd = fopen(file,"w"); //以写的方式打开 entrypoints = GetEntryPointQty

实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多都是以json数据填充的.在导入excel填充json数据到页面时,真的让我差点吐血了.在做这个导入导出的时候,那一个礼拜都是黑暗的. 好了,废话不多说了,我今天就给大家展示这个两个功能的核心点,excel生成json数据和json数据生成excel文件. 一:从上传文件到服务器,后台java解析,

C++ 纯虚函数接口,标准 C 导出 DLL 函数的用法

CMakeLists.txt project(virtual) # 创建工程 virtual add_library(virtual SHARED virtual.cpp) # 创建动态连接库 libvirtual.dll add_executable(main main.cpp) # 创建运行程序 main.exe target_link_libraries(main virtual) # 让 main.exe 连接 libvirtual.dll virtual.h #pragma once

Vue导出模板、使用前端js办法导出表格数据、导入表格前端读取表格数据、导入表格发送后端读取数据

以下是几种用的较多的函数方法,可以参考使用. // 導出1 myExport() { // post請求文件寫法1 const url = 'http://XXXX/XXXX/XXXX/XXXX' const formData = new FormData() formData.append('file', '123') this.axios({ method: 'post', url: url, data: formData, responseType: 'blob' // 表明返回服務器返回

Mongodb数据导出命令mongoexport和导入命令mongoimport介绍

转载:http://blog.csdn.net/rangqiwei/article/details/15816013 一.导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导出数据.mongoexport具体用法如下所示: Shell代码   [[email protected] mongodb]# ./bin/mongoexport --help Ex