_CRTIMP是什么意思?

时间:2022-12-25 03:57:39
在头文件中的宏定义,是什么意思呢,有没有书介绍这方面知识的,谢谢!

9 个解决方案

#1


提示是使用 dll 的动态 C 运行时库还是静态连接的 C 运行库的一个宏。

#2


/* Define _CRTIMP */

#ifndef _CRTIMP
#ifdef CRTDLL
#define _CRTIMP __declspec(dllexport)
#else  /* CRTDLL */
#ifdef _DLL
#define _CRTIMP __declspec(dllimport)
#else  /* _DLL */
#define _CRTIMP
#endif  /* _DLL */
#endif  /* CRTDLL */
#endif  /* _CRTIMP */


//楼主你说得对啊

#3


用一个指定的标识符来代表一个字符串,它的一般形式为:
#define 标识符  字符串
它的作用是指下用标识符来代替一个字符串,在编译预处理时,将程序中在该命令后出现的所有的标识符都用字符串代替,这种方法使用户能以一个简单的名字代替一个长的字符串,因此把这个标识符称为宏名。
在预编译时将宏名替换成字符串的过称为宏展开。
#define是宏定义命令。。。。

#4


不用当心这些东西的...多用几次就会记住它了..因为它的目的就是为了让人更好的记住..

#5


mark

#6


看 2 楼的定义,
似乎是一个 dll 函数控制的宏 ....

呵呵,以前没有用过这个,
这个控制宏也是自己手写的 ...

#7


好像在ctype.h中有它的定义的吧。楼主可以看看的。

#8


_CRTIMP 看ctype.h中对它的定义
__cdecl 和 PASCAL是对参数进栈方式不同;
far表示远指针(对函数)

#9


这样的问题。应该多找一些书籍。纯粹的求助帮忙是答不到学习效果的。
敢于提出问题是件好事。
往往这样的好事,却能坏了大事。
关键就在于怎样去面对问题。
这样才是解决问题的最佳选择·!

#1


提示是使用 dll 的动态 C 运行时库还是静态连接的 C 运行库的一个宏。

#2


/* Define _CRTIMP */

#ifndef _CRTIMP
#ifdef CRTDLL
#define _CRTIMP __declspec(dllexport)
#else  /* CRTDLL */
#ifdef _DLL
#define _CRTIMP __declspec(dllimport)
#else  /* _DLL */
#define _CRTIMP
#endif  /* _DLL */
#endif  /* CRTDLL */
#endif  /* _CRTIMP */


//楼主你说得对啊

#3


用一个指定的标识符来代表一个字符串,它的一般形式为:
#define 标识符  字符串
它的作用是指下用标识符来代替一个字符串,在编译预处理时,将程序中在该命令后出现的所有的标识符都用字符串代替,这种方法使用户能以一个简单的名字代替一个长的字符串,因此把这个标识符称为宏名。
在预编译时将宏名替换成字符串的过称为宏展开。
#define是宏定义命令。。。。

#4


不用当心这些东西的...多用几次就会记住它了..因为它的目的就是为了让人更好的记住..

#5


mark

#6


看 2 楼的定义,
似乎是一个 dll 函数控制的宏 ....

呵呵,以前没有用过这个,
这个控制宏也是自己手写的 ...

#7


好像在ctype.h中有它的定义的吧。楼主可以看看的。

#8


_CRTIMP 看ctype.h中对它的定义
__cdecl 和 PASCAL是对参数进栈方式不同;
far表示远指针(对函数)

#9


这样的问题。应该多找一些书籍。纯粹的求助帮忙是答不到学习效果的。
敢于提出问题是件好事。
往往这样的好事,却能坏了大事。
关键就在于怎样去面对问题。
这样才是解决问题的最佳选择·!