CentOS简单操作(三)

来源:互联网 发布:python 手写识别 编辑:程序博客网 时间:2024/05/16 05:19

一、C语言中的字符和字符串

字符类型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++){   printf("%c\n",*ptr);   ptr++;}

二、动态链接库(libxxx.so)

把me.c变成动态链接库

gcc -shared me.c -o libme.sogcc -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/libldconfig在执行可执行程序./xiaosa就不会报错,执行ldd xiaosa就可以发现libme.so => /usr/lib/libme.so

三、修改makefile文件执行make && make install

将上面生成动态链接库和联合编译的过程写到makefile中。先删除刚才生成的libme.so和xiaosarm -rf libme.so xiaosa修改makefile文件xiaosa:xiaosa.c libme.so<tab>gcc -L ./ -l me xiaosa.c -o xiaosalibme.so:me.c<tab>gcc -shared me.c -o libme.soinstall:<tab>cp ./libme.so /usr/lib<tab>ldconfig

执行make就会编译生成libme.so和xiaosa
再执行make install执行拷贝操作
也可以直接执行make && make install
再执行./xiaosa
我们在编译执行一些软件的时候基本上都要使用make和make install,实际上就是执行编译和复制的过程

0 0