dll,使用c代码
来源:互联网 发布:怎么注销阿里云账号 编辑:程序博客网 时间:2024/05/22 00:19
使用abldfreeze会输出一个def文件,里面包含DLL中导出函数等一些信息,def文件的作用应该是在产生LIB文件时用在参考,和使用DLL没有关系.
2版和3版的在Dll上的区别之一: 2版需要一个入口函数,
#include <e32uid.h>
#if !defined(EKA2)
GLDEF_C TInt E32Dll(TDllReason )
// DLL entry point
{
return(KErrNone);
}
#endif
#if !defined(EKA2)
GLDEF_C TInt E32Dll(TDllReason )
// DLL entry point
{
return(KErrNone);
}
#endif
把包含这段代码的cpp加入到mmp中.
1.在C++中引用C的代码是最好加上“extern “C” {...}”,在用C编译的头文件中要有这样的修饰:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif;
2. 在MMP文件中要加入“estlib.lib”,该LIB库是C标准语言的LIB库;
在程序退出之前要调用CloseSTDLIB(),以释放所有缓冲,该函数在“reent.h”文件中
3.在C++与C的交互接口中会存在如char*与TdesC之间的转换,可以这样转换,例如:
把TDesC转换成char*:
HBufC8* utf8TempText = HBufC8::NewLC(STRING_LENGTH);
TPtr8 utf8Text(utf8TempText->Des());
CnvUtfConverter::ConvertFromUnicodeToUtf8(utf8Text,TDesCString);
Char* cString = (char*)utf8Text.Ptr();
把char*转换成TPtr:
TPtr8 utf8Text((TText8*)cString,strlen(cString),strlen(cString));
HBufC* ucs2TempText = HBufC::NewLC(utf8Text.Length()*2);
TPtr ucs2Text(ucs2TempText->Des());
CnvUtfConverter::ConvertToUnicodeFromUtf8(ucs2Text,utf8Text);
1.在C++中引用C的代码是最好加上“extern “C” {...}”,在用C编译的头文件中要有这样的修饰:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif;
2. 在MMP文件中要加入“estlib.lib”,该LIB库是C标准语言的LIB库;
在程序退出之前要调用CloseSTDLIB(),以释放所有缓冲,该函数在“reent.h”文件中
3.在C++与C的交互接口中会存在如char*与TdesC之间的转换,可以这样转换,例如:
把TDesC转换成char*:
HBufC8* utf8TempText = HBufC8::NewLC(STRING_LENGTH);
TPtr8 utf8Text(utf8TempText->Des());
CnvUtfConverter::ConvertFromUnicodeToUtf8(utf8Text,TDesCString);
Char* cString = (char*)utf8Text.Ptr();
把char*转换成TPtr:
TPtr8 utf8Text((TText8*)cString,strlen(cString),strlen(cString));
HBufC* ucs2TempText = HBufC::NewLC(utf8Text.Length()*2);
TPtr ucs2Text(ucs2TempText->Des());
CnvUtfConverter::ConvertToUnicodeFromUtf8(ucs2Text,utf8Text);
http://wiki.forum.nokia.com/index.php/%E7%A7%BB%E6%A4%8Ds60%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%AC%AC%E4%BA%8C%E7%89%88%E5%88%B0%E7%AC%AC%E4%B8%89%E7%89%88
- dll,使用c代码
- C调用dll示例代码
- Windows编程 - 遍历程序使用的动态链接库(dll) 代码(C++)
- 使用JAVA实现编程打印(如何调用C代码的dll)
- Part2. 使用Visual Studio把C代码编译成.dll文件
- 使用PInvoke实现C#调用非托管C代码DLL库
- 使用g++命令生成dll文件实现lua调用C代码
- DLL注入代码(C函数)的编写
- 将c代码编译成dll文件
- C++代码中使用C#的DLL
- Visual C#(VS2008)制作DLL文件并使用DLL文件
- 编程c++dll , DLL 的编写,导出函数 ,使用函数
- C#中使用DllImport调用C++dll
- 使用 JNI 调用 c 的 DLL
- 使用VS 2010创建dll(c++)
- VS2012下创建和使用DLL (C++)
- 使用非托管 DLL 函数[C#]
- 使用JNI调用dll(C++)
- c语言中的进制转化
- 最近买的书
- Windows Via C/C++ 读书笔记 12 Heap(堆)
- MSDN Webcast预告:.NET 4.0中的新特性系列课程(3):.NET 4.0 Beta1 Interop 新特性介绍 (Level 200)
- 十二年之痒
- dll,使用c代码
- 关于Detours的完整翻译
- TSO
- c++智能指针的创建
- javascript的prototype属性
- 愤怒
- 现在还不知道这个东东是具体怎么使用
- 高性能网站概述
- 分页的几种方式(逻辑分页和物理分页)