随笔分类 -  开发基础

摘要:https://www.cnblogs.com/shelmean/p/9949490.html 字符0、数字0和‘\0’的区别 Bin Oct Dec Hex 缩写/字符 解释 0000 0000 0 0 00 NUT(null) 空字符 00110000 60 48 30 0 字符0 ASCII码 阅读全文

posted @ 2020-03-05 16:48 旅途 阅读(4152) 评论(0) 推荐(0) 编辑

摘要:高地址,低地址: 计算机中最基础的存储单位是字节(byte) 1 byte = 8 bit,00000000->11111111,表示范围[0,255] 对内存中的每一个字节(byte),都有一个索引编号,这就是传说中的指针,也就是地址 高低地址.png 很容易理解高低地址了吧,就是书写顺序 作者: 阅读全文

posted @ 2020-02-19 18:14 旅途 阅读(896) 评论(0) 推荐(0) 编辑

摘要:https://blog.csdn.net/weixin_40315804/article/details/79283397 大小端存储模式精解 计算机系统中内存是以字节为单位进行编址的,每个地址单元都唯一的对应着1个字节(8 bit)。这可以应对char类型数据的存储要求,因为char类型长度刚好 阅读全文

posted @ 2020-02-19 18:10 旅途 阅读(281) 评论(0) 推荐(0) 编辑

摘要:https://blog.csdn.net/Tang_shui/article/details/81666368 在C语言编程过程中,偶遇如下warning,虽然并不影响最终的编译结果,但是看着warning也很无语,毕竟强迫症。 我们可以发现被警告没有声明的都是常用的C库函数(这也是它为什么还能编 阅读全文

posted @ 2020-02-19 17:06 旅途 阅读(2069) 评论(0) 推荐(0) 编辑

摘要:十六进制: char c = '\x22'; \x是十六进制转义字符的标志 char a[3] = {(char)0x32,(char)0x55,(char)(0xff)}; char *a="\x01\x66\xff"; 阅读全文

posted @ 2020-02-19 16:14 旅途 阅读(2954) 评论(0) 推荐(0) 编辑

摘要:一、在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要 阅读全文

posted @ 2017-08-11 16:35 旅途 阅读(695) 评论(0) 推荐(0) 编辑

摘要:前言如果普通编程不需要了解这些东西,如果想精确控制你的对象文件的格式或者你想查看一下文件对象里的内容以便作出某种判断,刚你可以看一下下面的工具:objdump, nm, ar。当然,本文不可能非常详细的说明它们的使用方法和功能。如果你觉得本文不够清楚,你可以使用:man. 我的计划只是想让更多的人了 阅读全文

posted @ 2017-08-11 16:30 旅途 阅读(939) 评论(0) 推荐(0) 编辑

摘要:为什么不能用cp newlib.so oldlib.so ? 在替换so文件时,如果在不停程序的情况下,直接用 cp new.so old.so 的方式替换程序使用的动态库文件会导致正在运行中的程序崩溃。 解决方法: 解决的办法是采用“rm+cp” 或“mv+cp” 来替代直接“cp” 的操作方法。 阅读全文

posted @ 2017-08-11 15:54 旅途 阅读(258) 评论(0) 推荐(0) 编辑

摘要:使用ldd工具,查看可执行程序依赖那些动态库或着动态库依赖于那些动态库: ldd 命令可以查看一个可执行程序依赖的共享库, 例如 # ldd /bin/lnlibc.so.6 => /lib/libc.so.6 (0×40021000)/lib/ld-linux.so.2 => /lib/ld- l 阅读全文

posted @ 2017-08-11 15:51 旅途 阅读(1862) 评论(0) 推荐(0) 编辑

摘要:/usr/local下一般是你安装软件的目录,这个目录就相当于在windows下的programefiles这个目录 。很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?答案是:Automake工具定义了下面的一组变量:Directory variable Default 阅读全文

posted @ 2017-08-11 15:26 旅途 阅读(4116) 评论(0) 推荐(1) 编辑

摘要:一、头文件 gcc 在编译时寻找所需要的头文件 : ※搜寻会从-I开始 ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH ※再找内定目录/usr/include /usr/local/include/usr/lib/gc 阅读全文

posted @ 2017-08-11 14:50 旅途 阅读(1304) 评论(0) 推荐(0) 编辑

摘要:大多数的C/C++编译器都支持一个“-M”的选项,即自动找寻源文件中包含的头文件。举个例子,比如mian.c包含有如下头文件。 #include <stdio.h> #include "log.h" 用gcc -M main.c就可以输入其包含的所有头文件。如下图所示。 [root@bogon Co 阅读全文

posted @ 2017-08-11 14:46 旅途 阅读(2242) 评论(0) 推荐(0) 编辑

摘要:找不到库的处理方案 有两种方法: 一、可以把当前路径加入 /etc/ld.so.conf中然后运行ldconfig,或者以当前路径为参数运行ldconfig(要有root权限才行)。 二、把当前路径加入环境变量LD_LIBRARY_PATH中 如何使用库 gcc中关于库的参数有: -L 指定搜寻库的 阅读全文

posted @ 2017-08-11 14:42 旅途 阅读(3373) 评论(0) 推荐(1) 编辑

摘要:Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:1.echo 显示某个环境变量值 echo $PATH2.export 设置一个新的环境变量 export HELLO="hello" (可以无引号)3.env 显示所有环境变量4.set 显示本地定义的shell变量5.unset 阅读全文

posted @ 2017-08-11 14:13 旅途 阅读(2180) 评论(0) 推荐(0) 编辑

摘要:LD_LIBRARY_PATH是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。 在linux下可以用export命令来设置这个值,比如 在linux终端下输入:export LD_LIBRARY_PATH=/opt/au1200_rm/build_ 阅读全文

posted @ 2017-08-11 14:10 旅途 阅读(347) 评论(0) 推荐(0) 编辑

摘要:根据链接时期的不同,库又有静态库和动态库之分。静态库是在链接阶段被链接的,所以生成的可执行文件就不受库的影响,即使库被删除,程序依然可以成功运行。而动态库是在程序执行的时候被链接的。程序执行完,库仍需保留在系统上,以供程序运行时调用。链接静态库从某种意义上来说是一种复制粘贴,被链接后库就直接嵌入可执 阅读全文

posted @ 2017-08-11 13:59 旅途 阅读(261) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示