在 C++里面,某个类的全局对象的构造函数,可以被自动调用。
C 里面有没有什么办法可以让一个函数被自动调用啊?谢谢
C 里面有没有什么办法可以让一个函数被自动调用啊?谢谢
1
xenme Dec 24, 2018
那只是 C++语言的特性帮你调用了而已。
C 没有类似的特性。 |
2
catror Dec 24, 2018 via Android
可以了解一下 gcc 的 constructor
|
3
zyp0921 Dec 24, 2018
static void __attribute__((constructor(112))) __reg_srv_name_service()
{ } |
8
across Dec 24, 2018
你该说清楚在什么情况下触发调用。
说是自动调用,都是有触发器的啊。 |
9
Earl OP |
10
wevsty Dec 24, 2018
不是很明白为什么要有这样的需求。
要求在程序在启动的时候执行个函数那直接在 mian 函数里面调用不就行了?干嘛要舍近求远? |
11
momo1999 Dec 24, 2018
http://cpp.sh/43i34
手动调用行不行 |
12
wizardoz Dec 24, 2018
写代码的过程不就是创造自动化的过程吗?
|
13
zhujinliang Dec 24, 2018 via iPhone
用宏包装一下?
|
15
momo1999 Dec 24, 2018
|
16
deanzh16 Dec 24, 2018 via Android
Try lambda ?
static int x = [ ]( ) { foo(); return 0; }( ); |
18
ChrisTsai Dec 24, 2018
@ysc3839 #14 估计是类似于 linux 内核 module_init 的作用。
据我所知,module_init 就是采用楼上所说的 gcc 的 constructor,至于 VS 下就不太清楚了。。 要不尝试一下 MinGW 编译? |
19
Earl OP |