Linux下執行Hello world 三

2021-09-28 08:05:48 字數 1171 閱讀 6851

程式帶main()函式的可以編譯成可執行程式,那其他的程式就可以定義成庫了。我目前理解層面的庫分為兩種,一種是靜態庫以.a作為字尾,一種是共享庫以.so字尾。區別在於,編譯的時候靜態庫存在多份,共享庫只存在乙份。

#include

"libhelloworld.h"

using

namespace std;

intmain

(int argc,

char

** ar**)

#include

"libhelloworld.h"

#include

using

namespace std;

intprintf()

#ifndef lib_helloworld

#define lib_helloworld

intprintf()

;#endif

#宣告要求的cmake最低版本

cmake_minimum_required

(version 2.8

)#宣告乙個cmake工程

project

(helloworld)

#新增乙個可執行程式

#語法:add_executable(程式名 源**檔案)

add_executable

(helloworld helloslam.cpp)

#建立庫格式,helloworld_share是庫檔案的名字

#shared引數表示建立的是共享庫,靜態庫則不用加中間引數

#libhelloworld.cpp是原始檔的名字

add_library

(helloworld_share shared libhelloworld.cpp)

#給可執行檔案鏈結庫

target_link_libraries

(helloworld helloworld_share)

cd build

cmake ..

make

./helloworld

this is a lib

Linux下執行可執行檔案

我們通常會為計算機配置環境變數 path,echo path 檢視當前的環境變數包含的目錄。這些目錄下的可執行檔案就無需輸入完整路徑來執行,直接輸入命令就行,我們shell中常使用的一些linux命令,例如man,cat等的目錄都被包含在該path目錄中,所以直接在shell中輸入這些命令就可以。即...

嵌入式Linux驅動開發之helloword心得

自從選擇了物聯網這個專業,智慧型xx的字樣牽動著每乙個學習這個專業的孩子。大家興致勃勃的來到了學校,結果一切想象和自己的設想並不一樣。想象中的各種智慧型般夢幻的場景變成了真實的高數 電路 模電等等諸如此類!不知道這個世界什麼時候變得如此的浮躁,當大家的一段時間的努力看不到結果的時候就往往會不太感興趣...

Linux 最簡單的驅動程式hello world

最近開始學linux驅動,就從最簡單的開始練起,就從ldd 3裡的第乙個驅動程式hello world練起。the following code is a complete hello world module include include module license dual bsd gpl ...