有没有办法使函数对库和包含/链接库的人来说是全局的?
我现在有点困惑。我认为当你在一个函数上使用 extern 时,它会成为所有东西的全局,但似乎并非如此......我现在想要的是拥有一些可以在我的静态库中使用的函数,并且在链接它的程序中。我该怎么办呢? 我正在使用 Objective-C
I'm a bit confused now. I thought that when you used extern on a function, it would become global to everything, but it doesn't seem so... What I want right now, is to have some set of functions that I can use in my static library and in the program that links it. How do I that?
I'm using Objective-C
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果我在定义函数时只使用
extern
而不是extern inline
,它对我有用。示例:inlib.h
inlib.m:
创建的库:
gcc -ObjC -c inlib.m -o inlib.o
ar -q lib.a inlib.o
caller.m:
编译为:
gcc -ObjC -o caller caller.m lib.a -lobjc
运行:
./caller
返回:
It works for me, if I just use
extern
instead ofextern inline
when defining the function.Example: inlib.h
inlib.m:
Library created with:
gcc -ObjC -c inlib.m -o inlib.o
ar -q lib.a inlib.o
caller.m:
Compiled with:
gcc -ObjC -o caller caller.m lib.a -lobjc
Run with:
./caller
Returns:
在 CardDefs.h 上,我有:
我必须在库内部和外部使用这个函数。我还有其他类似的功能。
On CardDefs.h I have:
And I have to use this function inside the library and outside. I have other functions that are similar to this.