Assembly 下划线字符的使用

Assembly 下划线字符的使用,assembly,character,preprocessor,Assembly,Character,Preprocessor,我一直想知道下划线字符在c和程序集声明以及其他任何地方的功能。 像这样的语句中的“u”是什么意思 MSVCRT!_output: 77c3f0f3 55 push ebp 77c3f0f4 8bec mov ebp,esp 77c3f0f6 81ec50020000 sub esp,0x250 77c3f0fc 33c0 xor eax,eax 77c3f0fe 8945d8

我一直想知道下划线字符在c和程序集声明以及其他任何地方的功能。 像这样的语句中的“u”是什么意思

MSVCRT!_output:
77c3f0f3 55               push    ebp
77c3f0f4 8bec             mov     ebp,esp
77c3f0f6 81ec50020000     sub     esp,0x250
77c3f0fc 33c0             xor     eax,eax
77c3f0fe 8945d8           mov     [ebp-0x28],eax
77c3f101 8945f0           mov     [ebp-0x10],eax
77c3f104 8945ec           mov     [ebp-0x14],eax
77c3f107 8b450c           mov     eax,[ebp+0xc]

在C预处理器中?这些只是我在飞行中学习到的例子=

为什么以及何时使用单下划线或双下划线? 非常感谢你的帮助!
N.

汇编中的下划线字符没有特殊意义。它通常用于替换长描述性标签中的空格:在发生错误时跳到此处:

无论如何,使用下划线作为第一个字符可能只是C编程的习惯。来自其他语言的汇编程序员不使用这样的标签

一、 就个人而言,对于仅供内部使用的全局标签,在库中仅使用以下划线开头的标签


所用下划线的数量取决于从库外部使用此标签的不良程度-一个下划线表示思考所做的,三个下划线表示从不使用它

可能是复制品是的,看起来,我会查出来的!谢谢你的建议!伙计们,我找到我要说的了!太奇怪了,直到现在我才找到这个页面,我已经搜索了很长时间了。是关于警卫的。谢谢您的关注,先生们!只是想确定一下……当你发现类似于RTLALLOCATHEAP的代码时,这些下划线没有任何功能,就像它们在include guards中所做的那样……它们只是变量名的一部分,就像组成它的任何其他字符一样,对吗?再次感谢!
#ifdef __unix__ /* __unix__ is usually defined by compilers targeting Unix systems */
# include <unistd.h>
#elif defined _WIN32 /* _Win32 is usually defined by compilers targeting 32 or 64 bit Windows systems */
# include <windows.h>
#endif
#if !(defined __LP64__ || defined __LLP64__) || defined _WIN32 && !defined _WIN64
    // we are compiling for a 32-bit system
#else
    // we are compiling for a 64-bit system
#endif