摘要:来源:alaiblog其实也许大家都知道,也许曾经我也知道(但是我现在确实忘记了),但是我想对于一部分人来说,可能还是会犯跟我一样的错误,所以在记录下.可能大家经常在vc 下面进行编码,经常使用bool 类型也不会出现错误,但是c语言标准是没有bool 类型.这是我昨天在linux 下面写代码时发现的,有一个函数返回bool 类型,编译一直出现错误.咨询了一下牛人,上网查了下,才知道.C语言中的bool 类型,一般是自己定义1 #define TRUE 1 #define FALSE 02 enum bool{false,true};3 #define TRUE (1==1) #define
阅读全文
随笔分类 - linux
摘要:1.3 ldd 和 ldconfigldd 是用来检查可执行文件所需要的共享库。例如:$ ldd /bin/lslibtermcap.so.2 => /lib/libtermcap.so.2 (0x4001c000)libc.so.6 => /lib/libc.so.6 (0x40020000)/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)我们在 /bin/ls 程序上运行 ldd 命令,就可以检查该程序所使用的共享库。注意在 ldd 命令打印的结果中,“=>”左边的表示该程序需要连接的共享库之 so 名称,右
阅读全文
摘要:一、在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库。使用方式为:gcc test.cpp -L. -ltestlib如果当前目录有两个库libtestlib.so libtestlib.a 则肯定是连接libtestlib.so。如果要指定为连接静态库则使用:gcc test.cpp -L. -static -ltestlib使用静态库进行连接。二、当对动态库与静态库混合连接的时候,使用-static会导致所有的库都使用静态连接的方式。这时需要作用-Wl的方式:gcc test.cpp -L. -Wl,-Bstatic -ltestl
阅读全文
摘要:总所周知,Linux动态库的默认搜索路径是/lib和/usr/lib。动态库被创建后,一般都复制到这两个目录中。当程序执行时需要某动态库,并且该动 态库还未加载到内存中,则系统会自动到这两个默认搜索路径中去查找相应的动态库文件,然后加载该文件到内存中,这样程序就可以使用该动态库中的函数,以及该动态库的其它资源了。在Linux 中,动态库的搜索路径除了默认的搜索路径外,还可以通过以下三种方法来指定。方法一:在配置文件/etc/ld.so.conf中指定动态库搜索路径。可以通过编辑配置文件/etc/ld.so.conf来指定动态库的搜索路径,该文件中每行为一个动态库搜索路径。每次编辑完该文件后,都
阅读全文
摘要:一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt/au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量:1、直接用export命令:#export PATH=$PATH:/opt/au1200_rm/build_tools/bin查看是否已经设好,可用命令export查看:[root@localhost bin]#exportdeclare -x BASH_ENV="/root/.bashrc"declare
阅读全文
摘要:环境:主机(host):windowsXP虚拟机:VirtualBox设置VirtualBox共享文件夹之前需要安装VirtualBox Guest Additions.如果没有安装先安装这个。共享文件夹就是使主机的wendows和客户机linux能彼此共享文件。在当前的架构情况下,需要在主机即windows上设一个目录来做共享目录,我 是把D盘的sharelinux目录做为共享目录其路径为D:\sharelinux。下面就介绍具体如何设置共享文件夹。参考 VirtualBox的帮助文档(在virtual guest additions那一节里),我发现有以下几个步骤就可以完成共享文件夹的设置
阅读全文
摘要:一. lilo引导1.在出现lilo:提示时键入linux singleBoot: linux single2.回车可直接进入linux单用户模式3. vi /etc/passwd删除root项中的密码(这里也可以直接使用passwd命令重新设置root的密码)4. reboot重启,root密码为空二. grub引导1.在出现grub画面时,选择linux引导项,然后按e键2.选择以kernel开头的一行,再按e键,在此行的末尾,按空格键后输入single,以回车键来退出编辑模式;3.回车返回,然后按b键启动,即可直接进入linux单用户模式4. vi /etc/passwd删除root项中
阅读全文
摘要:函数库分为静态库和动态库两种。创建Linux静态库和Linux动态库和使用它们在这里将以举例的形式详述一下。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。 第1步:编辑得到举例的程序——hello.h、hello.c和main.c; hello.h(见程序1)为该函数库的头文件。 hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出"Hello XXX!". main.c(见程序3)为测试库文件的主程序,在主
阅读全文
摘要:这几天将公司的电脑(已装了Winxp)在硬盘上装了Ubuntu,因为觉得配置不好,就删除了Ubuntu的分区,重新启动之后出现如题的问题。删除了ubuntu的分区重启后出现了grub rescue>导致无法引导WinXP的系统,结果重新格式全盘再重装系统,还是这样。查阅一些资料之后发现原因如下:grub的引导程序已经占用了硬盘的mbr,而grub本身安装在ubuntu的分区里。所以相当于杀蛇但留了一个头。如果还能运行winpe,试试里面的fdisk /mbr命令重置mbr为windows的标准。以下方法可以修复:1.进入光盘winPE,U盘PE也可以。2.找到硬盘修复工具(我个人比较喜欢
阅读全文
摘要:一、查看gcc的参数 gcc 在编译程序时可以有很多可选参数。在终端中输入下面的命令,可以查看gcc 的这些可选参数。gcc --help 在终端中显示的gcc 的可选参数如下所示。进行程序编译时,可以设置下面的这些参数。用法:gcc [选项] 文件...选项:-pass-exit-codes:在某一阶段退出时返回最高的错误码--help:显示此帮助说明--target-help:显示目标机器特定的命令行选项-dumpspecs:显示所有内建 spec 字符串-dumpversion:显示编译器的版本号-dumpmachine:显示编译器的目标处理器-print-search-dirs:显..
阅读全文

浙公网安备 33010602011771号