如何在XCode中使用gcc编译生成的.a库文件

如何在XCode中使用gcc编译生成的.a库文件,第1张

1. 把你的.a文件添加到^projectName下的任意一个组里(例如默认的Classes组)。

2. 找到Target >^targetName,在这个^targetName下会有Link Binary With Libraries。把你已经在某组里的那个.a文件拖到Link Binary With Libraries这个Build Phase中。(也可能同时也要添加到某个Copy的Build Phase中...)

3. 提供一个可用的头文件。

4. Build and Go.

封装的话,标准的Cocoa做法是用Cocoa Framework。也就是在新建工程的时候,选择Cocoa Framework。

gcc链接静态库时对待.a文件和.o文件的不同

为了提高效率,C语言允许将局部变量得值放在CPU中的寄存器中,这种变量叫“寄存器变量”,用关键字register作声明。

【例8.17】使用寄存器变量。

int fac(int n)

{register int i,f=1

for(i=1i<=ni++)

f=f*i

return(f)

}

main()

{int i

for(i=0i<=5i++)

printf("%d!=%d\n",i,fac(i))

}

说明:

1) 只有局部自动变量和形式参数可以作为寄存器变量;

2) 一个计算机系统中的寄存器数目有限,不能定义任意多个寄存器变量;

3) 局部静态变量不能定义为寄存器变量。

8.9.5 用extern声明外部变量

外部变量(即全局变量)是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该外部变量,则应该在引用之前用关键字extern对该变量作“外部变量声明”。表示该变量是一个已经定义的外部变量。有了此声明,就可以从“声明”处起,合法地使用该外部变量。

【例8.18】用extern声明外部变量,扩展程序文件中的作用域。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11479998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存