静态库中是否不该使用TCHAR? RT, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 没这个说法。TCHAR是根据编译环境的不同而自动改变类型,ANSI和Unicode的转换 但是,静态库是给别人引用的,用TCHAR的话,会不会造成混乱?比如头文件中有个结构用到TCHAR[30];此时编译环境中Character Set为Unicode,编译后lib里面为WCHAR.引用该静态库的工程,编译环境中Character Set为MBCS,包含该头文件,TCHAR[30]不是变成char[30]了?但是lib中的却是WCHAR? 关键在于自己必须清楚实际编译在静态库中的TCHAR到底是char还是wchar,如果是发布给别人,头文件最好别写TCHAR,否则人家搞不清楚到底应该是哪个。 要写支持UNICODE和ANSI的库,在头文件中这样定义:void FuncA(LPCSTR lpsz);void FuncW(LPCWSTR lpsz);#ifdef UNICODE#define Func FuncW#else#define Func FuncA#endif 向微软学习,同时提供 FuncA 和 FuncW 两种版本 谢谢,那么写程序的时候,什么时候该添加对ANSI的支持呢?现在都写TCHAR,但感觉似乎最后都是WCHAR... 关于COMBO控件的问题 有关按钮跟键盘消息的问题 DataGrid 更新时如何控制编辑框输入的内容 C++中如何调用OFFICE里面的另存为WEB页功能 开帖继续讨论:Javascript调用activex接口问题(接口中有多个返回参数) 有没有办法强行清空Socket里剩余(或可能剩余)的data??? 有谁知道这么一个网站? 在win98注册com组件的问题! 请问以下程序中的postmessage换为sendmessage时,程序就不好用了。为什么?谢谢 gdi怎么快速画图 关于分开Tab结构的问题 接收到的两个包之间有汉字,乱码如何解决
比如头文件中有个结构用到TCHAR[30];此时编译环境中Character Set为Unicode,编译后lib里面为WCHAR.
引用该静态库的工程,编译环境中Character Set为MBCS,包含该头文件,TCHAR[30]不是变成char[30]了?
但是lib中的却是WCHAR?
void FuncW(LPCWSTR lpsz);#ifdef UNICODE
#define Func FuncW
#else
#define Func FuncA
#endif
现在都写TCHAR,但感觉似乎最后都是WCHAR...