由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 当某个函数被调用的时候,需要定义一个宏
相关主题
关于C++中 extern "C"的问题。OpenMP能编译产生DLL吗?
纯虚函数问题问个template
isinf 问题听说pointer to member function只支持最多128个virtual functi
quant lib问一下,DLL里面怎么调用外部类啊?
请教 C++的一个困惑 (operator delete)MATLAB编译的dll怎么被C#调用呢
C++子类中调用父类指针的问题copy constructor 问题
怎么可以做到程序运行时编译。弱问内存的问题
请教从java call matlab的问题急,VC7.1编译错误
相关话题的讨论汇总
话题: 函数话题: 调用话题: 定义话题: 某个话题: function
进入Programming版参与讨论
1 (共1页)
y**b
发帖数: 10166
1
有好几个函数都是这样,而main()的作用只是调用这几个函数之一。这样每次main()
调用不同函数(重新编译),都得改动头文件来决定需要定义哪个宏,比较麻烦。
(之所以出现这种情况,是因为这几个函数要分别利用某个段代码的不同部分,用宏
来区分的)。
也就是说:
if 某个函数被调用
then 定义某宏
这个在c++里面如何实现?有没有更简洁的办法?
n*****n
发帖数: 97
2
宏可以在make的时候定义嘛

【在 y**b 的大作中提到】
: 有好几个函数都是这样,而main()的作用只是调用这几个函数之一。这样每次main()
: 调用不同函数(重新编译),都得改动头文件来决定需要定义哪个宏,比较麻烦。
: (之所以出现这种情况,是因为这几个函数要分别利用某个段代码的不同部分,用宏
: 来区分的)。
: 也就是说:
: if 某个函数被调用
: then 定义某宏
: 这个在c++里面如何实现?有没有更简洁的办法?

y**b
发帖数: 10166
3
那就是说还是要清楚调用某个函数的时候需要定义哪个宏,
我想弄的傻瓜化一点,user只需知道调用某个函数就行了。
也许我原来的设计就不好,不然不会出现这种情况。

【在 n*****n 的大作中提到】
: 宏可以在make的时候定义嘛
S*****n
发帖数: 227
4
en..没code没真相。

【在 y**b 的大作中提到】
: 那就是说还是要清楚调用某个函数的时候需要定义哪个宏,
: 我想弄的傻瓜化一点,user只需知道调用某个函数就行了。
: 也许我原来的设计就不好,不然不会出现这种情况。

r*******y
发帖数: 290
5
不太懂你在说啥...
基本上,avoid using #define, use const and inline instead
要不用类和虚函数?

【在 y**b 的大作中提到】
: 有好几个函数都是这样,而main()的作用只是调用这几个函数之一。这样每次main()
: 调用不同函数(重新编译),都得改动头文件来决定需要定义哪个宏,比较麻烦。
: (之所以出现这种情况,是因为这几个函数要分别利用某个段代码的不同部分,用宏
: 来区分的)。
: 也就是说:
: if 某个函数被调用
: then 定义某宏
: 这个在c++里面如何实现?有没有更简洁的办法?

D*******a
发帖数: 3688
6
可以用function pointer或者virtual function(一码事)

【在 y**b 的大作中提到】
: 那就是说还是要清楚调用某个函数的时候需要定义哪个宏,
: 我想弄的傻瓜化一点,user只需知道调用某个函数就行了。
: 也许我原来的设计就不好,不然不会出现这种情况。

t****t
发帖数: 6806
7
why don't you take the other way around, i.e. when you see a macro, call cer
tain function.

【在 y**b 的大作中提到】
: 有好几个函数都是这样,而main()的作用只是调用这几个函数之一。这样每次main()
: 调用不同函数(重新编译),都得改动头文件来决定需要定义哪个宏,比较麻烦。
: (之所以出现这种情况,是因为这几个函数要分别利用某个段代码的不同部分,用宏
: 来区分的)。
: 也就是说:
: if 某个函数被调用
: then 定义某宏
: 这个在c++里面如何实现?有没有更简洁的办法?

s******e
发帖数: 431
8
如果是静态的,就用宏好了。动态的才需用function pointer
按我的理解,你就需要#ifdef,#ifdef 写好,然后在编译的时候,把你需要的宏定义上
就行了。

【在 y**b 的大作中提到】
: 那就是说还是要清楚调用某个函数的时候需要定义哪个宏,
: 我想弄的傻瓜化一点,user只需知道调用某个函数就行了。
: 也许我原来的设计就不好,不然不会出现这种情况。

y**b
发帖数: 10166
9
嗯。我改了,用宏来共用一段代码虽然(自己)方便,user几乎要晕倒。

【在 s******e 的大作中提到】
: 如果是静态的,就用宏好了。动态的才需用function pointer
: 按我的理解,你就需要#ifdef,#ifdef 写好,然后在编译的时候,把你需要的宏定义上
: 就行了。

1 (共1页)
进入Programming版参与讨论
相关主题
急,VC7.1编译错误请教 C++的一个困惑 (operator delete)
请教个C++的问题C++子类中调用父类指针的问题
问个用swig python调用c code 的问题怎么可以做到程序运行时编译。
使用VC++编译64-bit的library有什么注意的问题吗?请教从java call matlab的问题
关于C++中 extern "C"的问题。OpenMP能编译产生DLL吗?
纯虚函数问题问个template
isinf 问题听说pointer to member function只支持最多128个virtual functi
quant lib问一下,DLL里面怎么调用外部类啊?
相关话题的讨论汇总
话题: 函数话题: 调用话题: 定义话题: 某个话题: function