<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>archive</title><link>https://archive-w.netlify.app/devops/build/gcc/</link><description>Recent content on archive</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://archive-w.netlify.app/devops/build/gcc/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://archive-w.netlify.app/devops/build/gcc/library/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/devops/build/gcc/library/</guid><description>&lt;h2 id="linux共享库静态库动态链接库">
 Linux共享库，静态库，动态链接库
 &lt;a class="anchor" href="#linux%e5%85%b1%e4%ba%ab%e5%ba%93%e9%9d%99%e6%80%81%e5%ba%93%e5%8a%a8%e6%80%81%e9%93%be%e6%8e%a5%e5%ba%93">#&lt;/a>
&lt;/h2>
&lt;p>&lt;img src="https://archive-w.netlify.app/.images/devops/build/gcc/lib/lib-01.png" alt="">&lt;/p>
&lt;ul>
&lt;li>
&lt;h3 id="介绍">
 介绍
 &lt;a class="anchor" href="#%e4%bb%8b%e7%bb%8d">#&lt;/a>
&lt;/h3>
&lt;p class="warn">程序函数库可分为3种类型：静态函数库（static libraries）、共享函数库（shared libraries）、动态加载函数库（dynamically loaded libraries):&lt;/p>
&lt;ol>
&lt;li>静态函数库，是在程序执行前就加入到目标程序中去了 ；&lt;/li>
&lt;li>动态函数库同共享函数库是一个东西（在linux上叫共享对象库， 文件后缀是.so ，windows上叫动态加载函数库， 文件后缀是.dll）&lt;/li>
&lt;/ol>
&lt;ul>
&lt;li>
&lt;p>linux中明明系统的共享库的规则&lt;/p>
&lt;p>&lt;img src="https://archive-w.netlify.app/.images/devops/build/gcc/lib/lib-02.png" alt="">&lt;/p>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>
&lt;h3 id="代码实现">
 代码实现
 &lt;a class="anchor" href="#%e4%bb%a3%e7%a0%81%e5%ae%9e%e7%8e%b0">#&lt;/a>
&lt;/h3>
&lt;p>&lt;strong>libhello.c&lt;/strong>&lt;/p>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="c" data-line="" class="language-c line-numbers" style="max-height: none">&lt;code class="language-c">/* libhello.c - demonstrate library use. */
#include &amp;lt;stdio.h&amp;gt;

void hello(void) {
 printf(&amp;quot;Hello, library world.\n&amp;quot;);
}
&lt;/code>&lt;/pre>&lt;/div>
&lt;p>&lt;strong>libhello.h&lt;/strong>&lt;/p>
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="c" data-line="" class="language-c line-numbers" style="max-height: none">&lt;code class="language-c">/* libhello.h - demonstrate library use. */

void hello(void);
&lt;/code>&lt;/pre>&lt;/div>
&lt;h6 id="staticshared" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;h6 id="module" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;div class="docsify-tabs docsify-tabs--classic">&lt;button anchorId="staticshared" class="docsify-tabs__tab" data-tab="[STATIC、SHARED]">[STATIC、SHARED]&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="staticshared">
&lt;p>&lt;strong>demo_use.c&lt;/strong>&lt;/p></description></item></channel></rss>