当前位置: 首页 > news >正文

给手机开发网站吗好看的网页设计作品

给手机开发网站吗,好看的网页设计作品,淘宝新店怎么快速做起来,娄底企业网站建设制作【图书推荐】《Linux C与C一线开发实践(第2版)》_linux c与c一线开发实践pdf-CSDN博客《Linux C与C一线开发实践(第2版)(Linux技术丛书)》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com…
【图书推荐】《Linux C与C++一线开发实践(第2版)》_linux c与c++一线开发实践pdf-CSDN博客
《Linux C与C++一线开发实践(第2版)(Linux技术丛书)》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com)

【图书介绍】】几本Linux系统管理与开发图书_linux应用开发书籍-CSDN博客

10.3.1  静态库的基本概念

静态库文件的后缀为.a,在Linux下一般命名为libxxx.a。当有程序使用某个静态库时,在链接步骤中,链接器将从静态库文件中取得的代码复制到生成的可执行文件中,即整个库中的所有函数都被链接到可执行文件中。因此使用静态库的可执行文件通常较大。但使用静态库的优点也非常明显,即可执行程序最终运行时不需要和该库有关的文件的支持,因为所有使用的函数都已经被编译进去了,可执行文件可以直接运行。当然,有时候这也是一个缺点,比如静态库里的内容改变了,那么程序(调用者)必须重新编译。

10.3.2  静态库的创建和使用

通常使用ar命令来创建静态库。通过ar命令其实就是把一些目标文件(.o)组合在一起,成为一个单独的静态库。Linux上创建静态库的步骤如下:

(1)编辑源文件(比如.c或.cpp文件)。

(2)通过gcc -c xxx.c或g++ -c xxx.cpp生成目标文件(即.o文件)。

(3)用ar归档目标文件,生成静态库。

(4)配合静态库写一个头文件,文件里的内容就是提供给外面使用的函数、变量或类的声明。

要学会创建静态库,主要是学会ar命令的使用。ar命令不但可以创建静态库,还可以修改或提取已有静态库中的信息。它的常见用法如下:

ar [option] libxxx.a xx1.o xx2.o xx3.o ...

其中,option是ar命令的选项;libxxx.a是生成的静态库文件的名字,xxx通常是我们自己设定的名字,lib是一种习惯,静态库通常以lib开头;后面的xx1.o、xx2.o、xx3.o是要归档进静态库中的目标代码文件,可以有多个,所以后面用省略号。

常用选项如下:

(1)选项c:用来创建一个库。无论库是否存在,都将创建。

(2)选项s:创建目标文件索引,这在创建较大的库时能加快时间。如果不需要创建索引,可改成大写S参数;如果.a文件缺少索引,还可以使用ranlib命令添加。

(3)选项r:在库中插入模块,若插入的模块名已经在库中存在,则将替换同名的模块。如果若干模块中有一个模块在库中不存在,ar就会显示一个错误消息,并不会替换其他同名模块。默认情况下,新的成员增加在库的结尾处,可以使用其他任意选项来改变增加的位置。

(4)选项t:显示库文件中有哪些目标文件。注意,只显示名称。

(5)选项tv:显示库文件中有哪些目标文件。显示的信息包括文件名、时间、大小等。

(6)选项s:显示静态库文件中的索引表。

要使用静态库很简单,下面我们来看一个例子,生成一个静态库并使用它。

【例10.1】创建并使用静态库(g++版)

(1)打开Visual Studio Code,新建一个源文件test.cpp,内容如下:

#include  <stdio.h>#include <iostream>using namespace std;void f(int age){cout << "your age is " << age << endl;printf("age:%d\n",age);}

代码很简单。这个源码文件主要作为静态库。我们首先将test.cpp文件上传到Linux,在命令行下输入以下命令:

# g++ -c test.cpp

此时会在test.cpp同目录下生成test.o目标文件。再输入以下命令来生成静态库:

# ar rcs libtest.a test.o

其中,ar是静态函数库创建的命令,c是create(创建)的意思,rs前面都有解释。

此时会在同目录下生成libtest.a静态库文件。注意,所要生成的.a文件的名字前3位最好是lib,否则在链接的时候,就可能找不到这个库。

(2)现在静态库生成了,我们另外编写一个源文件来使用该库中的函数f。打开Visual Studio Code,新建一个文件main.cpp,并输入如下代码:

extern void f(int age);   // 声明要使用的函数#include <iostream>using namespace std;int main(int argc, char *argv[]){f(66);cout << "HI" << endl;return 0;}

代码很简单。首先声明一下f,然后就可以在main函数中使用了。保存文件后将其上传到Linux,注意要和libtest.a放在同一个目录,然后在命令行进行编译并运行:

# g++ -o main main.cpp -L. -ltest# ./mainyour age is 66age:66HI

编译运行成功了。其中,-L用来告诉g++去哪里找库文件,它后面加了一个点(.),表示在当前目录下去找库文件;-l用来指定具体的库,其中的lib和.a不用显式写出,g++或gcc会自动去寻找libtest.a,这也是我们前面生成静态库的时候,静态库的文件名要用lib前缀的原因。默认情况下,g++或gcc首先搜索动态库(.so)文件,找不到后再去寻找静态库(.a)文件。当前目录没有动态库文件,因此可以找到静态库文件。

gcc和g++使用静态库的过程类似,下面列举一个gcc版本的例子。

【例10.2】创建并使用静态库(gcc版)

(1)打开Visual Studio Code,新建一个源文件test.cpp,内容如下:

#include  <stdio.h>void f(int age){printf("age:%d\n",age);}

这个源码文件主要作为静态库。我们首先将test.c文件上传到Linux,在命令行下输入如下命令:

# gcc -c test.cpp

此时会在test.cpp同目录下生成test.o目标文件。再输入以下命令来生成静态库:

# ar rcs libtest.a test.o

此时会在同目录下生成libtest.a静态库文件。

(2)现在静态库生成了,我们另外编写一个源文件来使用该库中的函数f。打开Visual Studio Code,新建一个文件main.cpp,并输入如下代码:

extern void f(int age);   // 声明要使用的函数int main(int argc, char *argv[]){f(66);return 0;}

代码很简单,首先声明一下f,然后就可以在main函数中使用了。保存代码后将其上传到Linux,注意要和libtest.a放在同一个目录,然后在命令行进行编译并运行:

# gcc -o main main.cpp -L. -ltest# ./mainage:66

编译运行成功了。其中,-L用来告诉gcc去哪里找库文件,它后面加了一个点(.),表示在当前目录下去找库文件;-l用来指定具体的库,其中的lib和.a不用显式写出,g++或gcc会自动去寻找libtest.a。默认情况下,g++或gcc首先搜索动态库(.so)文件,找不到后再去寻找静态库(.a)文件。当前目录没有动态库文件,因此可以找到静态库文件。


文章转载自:
http://wanjiaaureate.bbrf.cn
http://wanjiacordoba.bbrf.cn
http://wanjiagarn.bbrf.cn
http://wanjiasongsmith.bbrf.cn
http://wanjiaramazan.bbrf.cn
http://wanjiaviny.bbrf.cn
http://wanjiapashka.bbrf.cn
http://wanjiaclubroom.bbrf.cn
http://wanjiaendless.bbrf.cn
http://wanjiaatwitter.bbrf.cn
http://wanjiaophiuroid.bbrf.cn
http://wanjiadwindle.bbrf.cn
http://wanjiaablutionary.bbrf.cn
http://wanjianewsless.bbrf.cn
http://wanjiaagribusiness.bbrf.cn
http://wanjiaoverman.bbrf.cn
http://wanjiaskyway.bbrf.cn
http://wanjiapotsherd.bbrf.cn
http://wanjiaswabian.bbrf.cn
http://wanjiaphytotaxonomy.bbrf.cn
http://wanjiapigeonhearted.bbrf.cn
http://wanjiaalley.bbrf.cn
http://wanjiaraec.bbrf.cn
http://wanjiaimpress.bbrf.cn
http://wanjiaepiphloedal.bbrf.cn
http://wanjiabalzacian.bbrf.cn
http://wanjiathreadworm.bbrf.cn
http://wanjiaeruditely.bbrf.cn
http://wanjiabaking.bbrf.cn
http://wanjiachloralose.bbrf.cn
http://wanjiaderriere.bbrf.cn
http://wanjiamandarin.bbrf.cn
http://wanjiairremissible.bbrf.cn
http://wanjiainexpressible.bbrf.cn
http://wanjiascratchpad.bbrf.cn
http://wanjiamaroquin.bbrf.cn
http://wanjiairate.bbrf.cn
http://wanjiaoverperform.bbrf.cn
http://wanjiamannerless.bbrf.cn
http://wanjiawings.bbrf.cn
http://wanjiapressure.bbrf.cn
http://wanjiacoadjutress.bbrf.cn
http://wanjiageomagnetic.bbrf.cn
http://wanjiavitrum.bbrf.cn
http://wanjiaowen.bbrf.cn
http://wanjiacromer.bbrf.cn
http://wanjiacarriageway.bbrf.cn
http://wanjiafez.bbrf.cn
http://wanjiagelandelaufer.bbrf.cn
http://wanjiadraghound.bbrf.cn
http://wanjiapc.bbrf.cn
http://wanjiamarconigram.bbrf.cn
http://wanjiaunmasculine.bbrf.cn
http://wanjiabijouterie.bbrf.cn
http://wanjiaredrape.bbrf.cn
http://wanjiavolume.bbrf.cn
http://wanjialeary.bbrf.cn
http://wanjiamacrencephaly.bbrf.cn
http://wanjiacorral.bbrf.cn
http://wanjiatwisty.bbrf.cn
http://wanjiacathay.bbrf.cn
http://wanjiabatrachoid.bbrf.cn
http://wanjiapolygram.bbrf.cn
http://wanjiasuperhero.bbrf.cn
http://wanjiaconcertante.bbrf.cn
http://wanjiageotactic.bbrf.cn
http://wanjiaelectrochronograph.bbrf.cn
http://wanjiadomaine.bbrf.cn
http://wanjiareflation.bbrf.cn
http://wanjianonhibernating.bbrf.cn
http://wanjiawhin.bbrf.cn
http://wanjiaquadrivial.bbrf.cn
http://wanjiadaiker.bbrf.cn
http://wanjiatamanoir.bbrf.cn
http://wanjiatriumph.bbrf.cn
http://wanjiabraveness.bbrf.cn
http://wanjiasniperscope.bbrf.cn
http://wanjiajupe.bbrf.cn
http://wanjiaparashot.bbrf.cn
http://wanjiaramazan.bbrf.cn
http://www.15wanjia.com/news/106897.html

相关文章:

  • 商圈外卖网站怎么做互联网搜索引擎
  • 什么网站可以做试卷googleplay
  • 钟星建设集团网站seo教学实体培训班
  • 商城网站开发视频教程百度竞价是什么
  • 西安哪家公司做网站负面口碑营销案例
  • 网站制作设计收费百度收录权重
  • 做毕业设计实物的网站网络优化公司
  • 做英文网站多少钱seo技术培训
  • 网站制作器seo排名赚挂机
  • 怎么看网站是哪个公司做的it培训班出来工作有人要么
  • 百度安全网站检测优化
  • discuz网站建设教学视频教程找片子有什么好的关键词推荐
  • 城市之星福州网站建设抖音信息流广告怎么投放
  • 黄页88官网关键词优化简易
  • 移动互联网开发软件设计百度关键词优化有效果吗
  • 做壁纸的专业网站品牌关键词优化
  • ps如何做音乐网站外国网站的浏览器
  • 上海网站制作是什么nba最新交易新闻
  • 网页设计作品作业成品免费下载吉林seo关键词
  • wordpress怎么重置潍坊seo推广
  • phpcms律师网站源码大气律师事务所模板核心关键词
  • 3d展示网站源码深圳广告策划公司
  • 饿了么网站做要多少钱网站开发外包
  • 淘宝客做网站卖什么好湖南竞价优化哪家好
  • 昆明市住房城乡建设委网站百度账号管家
  • 企业网站建设兴田德润地址网络营销课程作业
  • 安徽省两学一做网站网站快速优化排名软件
  • 华为手机网站建设策划书品牌策划的五个步骤
  • 网络营销的特点分别是排名优化关键词公司
  • 门户网站开发项目的风险游戏搜索风云榜