CentOS簡單操作(三)

2021-07-24 14:56:44 字數 1363 閱讀 5679

字元型別char為基本型別,只能表示乙個字元

char ch = 'a';

printf("ch is %c\n",ch);

字串可以用字元陣列表示

char ch = "xiaosa";

printf("ch is %s\n",ch);

字串也可以用字元指標來表示

char *ptr = "xiaosa";

int i;

for(i=0;i<6;i++)

把me.c變成動態鏈結庫

gcc -shared

me.c -o libme.so

gcc -l ./ -l me xiaosa.c -o xiaosa

會生成可執行程式xiaosa

執行./xiaosa會報:./xiaosa: error

while loading shared libraries: libme.so: cannot open shared

object file: no such file or directory的錯誤

再通過執行ldd xiaosa來檢視可執行性程式的依賴,會發現libme.so => not found

只有將我們生成的動態鏈結庫libme.so拷貝到/lib或者/lib64或者/usr/lib或者/usr/lib64的目錄下,再「更新」動態鏈結庫,系統就可以找到這個libme.so了

cp libme.so /usr/lib

ldconfig

在執行可執行程式./xiaosa就不會報錯,執行ldd xiaosa就可以發現libme.so => /usr/lib/libme.so

將上面生成動態鏈結庫和聯合編譯的過程寫到makefile中。

先刪除剛才生成的libme.so和xiaosa

rm -rf libme.so xiaosa

修改makefile檔案

xiaosa:xiaosa.c libme.so

gcc -l ./ -l me xiaosa.c -o xiaosa

libme.so:me.c

gcc -shared me.c -o libme.so

install:

cp ./libme.so /usr/lib

ldconfig

執行make就會編譯生成libme.so和xiaosa

再執行make install執行拷貝操作

也可以直接執行make && make install

再執行./xiaosa

我們在編譯執行一些軟體的時候基本上都要使用make和make install,實際上就是執行編譯和複製的過程

CentOS 7 防火牆簡單操作

1 firewalld的基本使用 啟動 systemctl start firewalld 檢視狀態 systemctl status firewalld 停止 systemctl disable firewalld 禁用 systemctl stop firewalld 2.systemctl是c...

centos6 8 防火牆簡單操作

1.基本操作 檢視防火牆狀態 service iptables status 停止防火牆 service iptables stop 啟動防火牆 service iptables start 重啟防火牆 service iptables restart 永久關閉防火牆 chkconfig iptab...

CentOS 基本操作

修改更新源 yum makecache標準軟體 yum install y nc yum install y gcc yum groupinstall y development tools yum install y git cd usr local src git clone cd axel c...