当前位置:  技术问答>linux和unix

__FUNCTION__在Linux 中是什么意思?

    来源: 互联网  发布时间:2015-01-13

    本文导语:  我要是想在Windows下面也实现同样的宏定义,该怎么做? Thx | paste from MSDN notice: may be include "stdio.h" C/C++ Preprocessor Reference    Predefined MacrosSee Also Macros | Preprocessor Operators | Preprocesso...

我要是想在Windows下面也实现同样的宏定义,该怎么做?
Thx

|
paste from MSDN
notice: may be include "stdio.h"

C/C++ Preprocessor Reference   

Predefined MacrosSee Also
Macros | Preprocessor Operators | Preprocessor Directives
The compiler recognizes 10 predefined ANSI C macros, and the Microsoft C++ implementation provides several more. These macros take no arguments and cannot be redefined. Their value, except for __LINE__ and __FILE__, must be constant throughout compilation. Some of the predefined macros listed below are defined with multiple values. See the following tables for more information.

ANSI-Compliant Predefined Macros

Macro Description 
__DATE__ The compilation date of the current source file. The date is a string literal of the form Mmm dd yyyy. The month name Mmm is the same as for dates generated by the library function asctime declared in TIME.H.  
__FILE__ The name of the current source file. __FILE__ expands to a string surrounded by double quotation marks. 
You can create your own wide string version of __FILE__ as follows:

#include 
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
#define __WFILE__ WIDEN(__FILE__)
wchar_t *pwsz = __WFILE__;

void main()
{
}
 
__LINE__ The line number in the current source file. The line number is a decimal integer constant. It can be altered with a #line directive.  
__STDC__ Indicates full conformance with the ANSI C standard. Defined as the integer constant 1 only if the /Za compiler option is given and you are not compiling C++ code; otherwise is undefined.  
__TIME__ The most recent compilation time of the current source file. The time is a string literal of the form hh:mm:ss.  
__TIMESTAMP__ The date and time of the last modification of the current source file, expressed as a string literal in the form Ddd Mmm Date hh:mm:ss yyyy, where Ddd is the abbreviated day of the week and Date is an integer from 1 to 31. 

Microsoft-Specific Predefined Macros

Macro Description 
_ATL_VER Defines the ATL version. 
_CHAR_UNSIGNED Default char type is unsigned. Defined when /J is specified.  
__COUNTER__ Expands to an integer starting with 0 and incrementing by 1 every time it is used in a compiland. __COUNTER__ remembers its state when using precompiled headers. If the last __COUNTER__ value was 4 after building a precompiled header (PCH), it will start with 5 on each PCH use. 
__COUNTER__ lets you generate unique variable names. You can use token pasting with a prefix to make a unique name. For example:

#include 
#define FUNC2(x,y) x##y
#define FUNC1(x,y) FUNC2(x,y)
#define FUNC(x) FUNC1(x,__COUNTER__)

int FUNC(my_unique_prefix);
int FUNC(my_unique_prefix);

void main() {
   my_unique_prefix0 = 0;
   printf("n%d",my_unique_prefix0);
   my_unique_prefix0++;
   printf("n%d",my_unique_prefix0);
}
 
__cplusplus Defined for C++ programs only. 
_CPPRTTI Defined for code compiled with /GR (Enable Run-Time Type Information). 
_CPPUNWIND Defined for code compiled with /GX (Enable Exception Handling). 
_DEBUG Defined when compiling with /LDd, /MDd, /MLd, and /MTd. 
_DLL Defined when /MD or /MDd (Multithread DLL) is specified. 
__FUNCDNAME__ Valid only within a function and returns the decorated name of the enclosing function (as a string). __FUNCDNAME__ is not expanded if you use the /EP or /P compiler option. 
__FUNCSIG__ Valid only within a function and returns the signature of the enclosing function (as a string). __FUNCSIG__ is not expanded if you use the /EP or /P compiler option. 
__FUNCTION__ Valid only within a function and returns the undecorated name of the enclosing function (as a string). __FUNCTION__ is not expanded if you use the /EP or /P compiler option. 
_M_ALPHA Defined for DEC ALPHA platforms. It is defined as 1 by the ALPHA compiler, and it is not defined if another compiler is used. 
_M_IX86 Defined for x86 processors. See Values for _M_IX86 for more details. 
_M_IA64 Defined for 64-bit processors. 
_M_MPPC Defined for Power Macintosh platforms (no longer supported). 
_M_MRX000 Defined for MIPS platforms (no longer supported). 
_M_PPC Defined for PowerPC platforms (no longer supported). 
_MANAGED Defined to be 1 when /clr is specified. 
_MFC_VER Defines the MFC version. For example, 0x0700 represents MFC version 7. 
_MSC_EXTENSIONS This macro is defined when compiling with the /Ze compiler option (the default). Its value, when defined, is 1. 
_MSC_VER Defines the major and minor versions of the compiler. For example, 1300 for Microsoft Visual C++ .NET. 1300 represents version 13 and no point release. This represents the fact that there have been a total of 13 releases of the compiler. 
If you type cl /? at the command line, you will see the full version for the compiler you are using.
 
__MSVC_RUNTIME_CHECKS Defined when one of the /RTC compiler options is specified. 
_MT Defined when /MD or /MDd (Multithreaded DLL) or /MT or /MTd (Multithreaded) is specified.  
_WCHAR_T_DEFINED Defined when wchar_t is defined. Typically, wchar_t is defined when you use /Zc:wchar_t or when typedef unsigned short wchar_t; is executed in code. 
_WIN32 Defined for applications for Win32 and Win64. Always defined.  
_WIN32 Defined for applications for Win64. 
_Wp64 Defined when specifying /Wp64. 

As shown in following table, the compiler generates a value for the preprocessor identifiers that reflect the processor option specified.

Values for _M_IX86

Option in Development Environment Command-Line Option Resulting Value 
Blend /GB _M_IX86 = 600 (Default. Future compilers will emit a different value to reflect the dominant processor.) 
Pentium /G5 _M_IX86 = 500 
Pentium Pro, Pentium II, and Pentium III /G6 _M_IX86 = 600 
80386 /G3 _M_IX86 = 300 
80486 /G4 _M_IX86 = 400

|
unistd.h是linux下的大部分的API声明的头文件,在WIN下对应的应该是WINDOW。H文件

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • CSS3 transition-timing-function 属性
  • 浅析jQuery(function(){})与(function(){})(jQuery)之间的区别
  • CSS3 animation-timing-function 属性
  • 请教declared as function returning a function的问题
  • PHP严重致命错误处理:php Fatal error: Cannot redeclare class or function
  • If I know the function used in the program,how can I get the library which provides the implemation of the BEING USED function
  • error instruction entry(function)?
  • shell教本的function可以带参数吗?
  • Python重新引入被覆盖的自带function
  • shell脚本添加了function就会报错
  • warning:implicit declaration of function
  • vi 按shit+k沒有出現 function的manpage
  • gvim老提示:E117:Unknown function:BalloonDeclaration
  • MD5 hash algorithm function
  • Call to undefined function: mysql_connect这个错误怎么解决???
  • Deferable function总是被defer吗?
  • 在pthread function 里面我用new 分配的内存问题 。。。
  • 請問是否有程式可以看到 *.a 裡頭有包含什麼function的
  • NOSQL iis7站长之家
  • error:'MSG_R' undeclared (first use in this function) under Solaris
  • you *might* want to use the less safe log_bin_trust_function_creators variable


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3