Windows程序设计编码中常见宏定义

一、L,_T() ,TEXT和_TEXT的使用及其区别

1、 L使用说明

字符串(literal string)前面的大写字母L,用来告诉编译器该字符串应该作为Unicode来编译。它用来将ASNI转换为Unicode,Unicode字符串中每个字符占16位(两个字节),而在ASNI中每个字符占用一个字节。 

2、 _T使用说明

_T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变。Visual C++里边定义字符串的时候,用_T来保证兼容性。VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。

3、_TEXT、TEXT使用说明 

其实,_T、_TEXT、TEXT 三者效果相同

tchar.h是运行时的头文件,_T、_TEXT 根据_UNICODE来确定宏 

winnt.h是Win的头文件根据,TEXT 根据UNICODE 来确定宏

二、Windows API函数后缀A,W,EX

例如:

MessageBoxA(......)

MessageBoxW(......)

MessageBoxEx(......)

A表示 ANSI编码。

W表示Unicode编码。

Ex表示extend,此单词为扩展的意思。



参考:

windows编程中L,_T() ,TEXT和_TEXT的使用及其区别 - CSDN博客

API函数后面有些带A 或EX 或EXA 都什么意思_百度知道

你可能感兴趣的:(Windows程序设计编码中常见宏定义)