今天看了一遍字符串,总结下:
) 写了书中的例子因为是写在dll里的,所以浅浅的学习了下dll的写法
1:def文件可以使导出函数名称不会被篡改,因为C++的编译器可能会在函数后面加上一些后缀用于多态。
def文件很简单
LIBRARY "Win32Dll"
EXPORTS
sfStringReverseW @1即可
2:在vs2005中选择 win32工程,ok后再选择dll或者exe,dll会自己写好dllmain函数。
3:在dll的头文件中定义
#ifdef UNICODE
#define StringReverse sfStringReverseW
#else
#define StringReverse sfStringReverseA
#endif
这样是为了吧头文件提供给用户。
)学习了下申请堆,转变字符串(Unicode转ansi和ansi转Unicode);WideCharToMultiByte,MultiByteToWideChar。
明天问下:为什么不在dll直接用malloc函数 可能是因为不一定C调用这个dll吧 如果Delphi调用可能会出问题?
2010-08-19