linux平台 一个简单的helloworld静态库的制作与使用
生活随笔
收集整理的這篇文章主要介紹了
linux平台 一个简单的helloworld静态库的制作与使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
業務開發使用Go語言,有的時候會引用c的代碼,通常以靜態庫的形式調用,介紹一下linux平臺靜態庫的制作與使用方式:
HelloWorld庫代碼:
HelloWorld.c文件
/*** 簡單靜態庫文件使用*/ #include "HelloWorld.h"/* 庫函數 */ void hello(void) {printf("Hello World \r\n");return ; }HelloWorld.h文件
#include <stdio.h>void hello(void);靜態庫的Makefile:
# 靜態庫的使用例子 # 生成libhelloworld.a靜態庫lib:gcc -Wall -c HelloWorld.car -crv libhelloworld.a HelloWorld.o編寫測試程序調用靜態庫:
測試程序代碼:
/*** 靜態庫的使用*//* 引用靜態庫的頭文件 */ #include "HelloWorld.h"int main(void) {/* 調用靜態庫函數 */hello();return 0; }編譯選項:
#-l選項后面跟上表示引用的庫名 #-L選項表示庫的搜索路徑app:gcc -Wall -o demoapp call_lib.c -L. -lhelloworld運行截圖:
可能遇到的錯誤:
./libhelloworld.a: could not read symbols: Archive has no index; run ranlib to add one collect2: ld 返回 1原因可能是沒有引用靜態庫的頭文件或者靜態庫編譯有錯誤。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的linux平台 一个简单的helloworld静态库的制作与使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: -bash: ./demoapp: 无法
- 下一篇: 产品质量保证金会计分录