自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

转载 GCC 库搜索路径:

库搜索路径: 在编译之后,程序要进行链接操作,前面指出,链接不管是动态和是静态,GCC这个程序,必须确认“真的有”那些头文件的实现。于是就需要定位找到那些文件。与include的情景差不多。使用绝对目录是可以的,但不适于管理。于是就出现了lib搜索路径这个环境变量。LIBRARY_PATH。他们的搜索路径为:库文件:编译的时候:①gcc会去找-L②再找gcc的环境变量L

2017-05-31 13:02:46 732

转载 include搜索路径

include搜索路径 通常,使用C/C++进行开发程序的时候,会使用头文件,并且有头文件的实现文件,这个时候有三类文件,使用头文件的源文件,头文件,实现头文件的源文件。编译的时候,头文件和源文件一起就可以了。通常他们是在同一目录下的。所以不会有什么问题。但是,当你使用到了系统自身的一些头文件的时候,你需要引入一些头文件,而这些文件不在当前目录下,使用绝对地址是一个办法,但是是

2017-05-31 12:58:52 1400

转载 gcc链接阶段

gcc链接阶段(link time)  此阶段,告诉编译器,在哪里找到库文件?以静态还是动态的方式链接库文件?默认情况下使用动态方式链接,这要求存在对应的.so动态库文件,如果不存在,则寻找相应的.a静态库文件。若在编译时向gcc传入-static选项,则使用静态方式链接,这要求所有库文件都必须有对应的*.a静态库。  那么,是否可以令某些库使用动态链接

2017-05-27 15:46:05 1777

转载 linux下C include搜索的路径

本文介绍在linux中头文件的搜索路径,也就是说你通过include指定的头文件,linux下的gcc编译器它是怎么找到它的呢。在此之前,先了解一个基本概念。    头文件是一种文本文件,使用文本编辑器将代码编写好之后,以扩展名.h保存就行了。头文件中一般放一些重复使用的代码,例如函数声明、变量声明、常数定义、宏的定义等等。当使用#include语句将头文件引用时,相当于将

2017-05-27 15:28:51 1687

原创 gcc undefined reference to

gcc --verbose hicv.c -o  hicv &>hicv.loggcc -t 查看符号表

2017-05-27 15:06:23 695

原创 gcc预处理阶段

gcc --verbose -E hicv.c -o hicv.i &>/home/ftp/xx.txt使用gcc的-E -P选项展开源代码中的宏- --E选项,表示让gcc只进行“预处理”就行了。 所谓的预处理,就是把程序中的宏展开, 把头文件的内容展开包含进来等等一些编译前的预处理操作。预处理结果会显示到屏幕上,如果需要保存,则得需要重定向g

2017-05-27 10:11:39 850

转载 深入理解程序构造

源代码经过编译器编译后产生的文件叫做目标文件,多个目标文件链接后可以产生可执行文件,所以目标文件除了有些符号和地址没有通过链接来调整,其基本格式与可执行文件相似。目标文件的格式目前流行的可执行文件格式(Executable)主要就是Windows下的PE(Portable Executable)和Linux的ELF(Executable Linkble Format),都是COFF

2017-05-27 09:07:03 689

原创 objdump -t

1.段内偏移2.符号作用域3.符号类型:  d ??   f 文件名  F 函数名4.符号所在段    *UND*外部链接符号,未在本目标文件定义5.符号对应的对象占据的内存空间大小,没有实体对象大小为0,未定义的为06. 符号名

2017-05-27 08:24:21 4756

转载 nm 命令 程序符号信息查看

用途显示关于对象文件、可执行文件以及对象文件库里的符号信息。语法nm [ -A ] [ -C ] [ -X {32|64|32_64}] [ -f ] [ -h ] [ -l ] [ -p ] [ -r ] [ -T ] [ -v ] [ -B | -P ] [ -e | -g | -u ] [ -d | -o | -x | -t

2017-05-27 08:19:46 7377 2

转载 objdump

1:查看符号表: objdump -t xxx.so 。-T 和 -t 选项在于 -T 只能查看动态符号,如库导出的函数和引用其他库的函数,而 -t 可以查看所有的符号,包括数据段的符号2:nm命令可以查看,linux以及windows下的.o ,.obj文件中的符号列表3:objdump -x obj 以某种分类信息的形式把目标文件的数据组织(被分为几大块)输出

2017-05-27 08:18:53 4346

转载 GCC 命令行详解 -L -l

我们用gcc编译程序时,常常会用到“-I”(大写i),“-L”(大写l),“-l”(小写l)等参数,下面做个记录:GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名例:gcc -o hello hello.c -I/home/hello/include -L/home/hello/lib -lworld11上面这句表示在编译hello.c时

2017-05-26 15:05:01 10335

转载 LIBRARY_PATH 和 LD_LIBRARY_PATH 的关系

LIBRARY_PATHThe value of LIBRARY_PATH is a colon-separated list of directories, much like PATH.When configured as a native compiler, GCC tries the directories thus specified when searching for speci

2017-05-26 14:31:18 807

原创 gcc 编译信息输出到文本文件

gcc --verbose hicv.cpp -o hicv   &>/home/ftp/make.log

2017-05-26 10:09:47 4937 1

转载 linux 新建用户、用户组 以及为新用户分配权限

1、添加新的用户账号使用 useradd命令,其语法如下: 代码:useradd 选项 用户名其中各选项含义如下:代码:-c comment 指定一段注释性描述。-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。-g 用户组 指定用户所属的用户组。-G 用户组,用户组 指定用户所属的附加组。-s Shell文件 指定用户的

2017-05-25 22:42:25 8919

原创 vsftp上传文件出现553 Could not create file

home/ftp目录进行权限设置,如果设置为chmod -R 777 /home/ftp

2017-05-25 22:40:39 804

转载 vsftpd 设置用户目录

vsftpd 设置用户目录:Linux是一种开源的、安全的操作系统,而且已经深入人心。而vsftpd作为Linux下一种最为方便的FTP程序,也为人们所推崇。本文讲述的是如何在Linux下设置vsftpd的用户目录。vsftpd 设置用户目录增加一个用户ftpuser并设置其目录为/opt/ftp:1 增加组 groupadd ftpgroup2

2017-05-25 22:33:31 2883

原创 yum -y install ftp

yum -y install ftp

2017-05-25 14:56:15 1551

原创 centos FTP 无法访问

服务器拒绝了这个请求。通过查找资料,确认应该是服务器防火墙的问题。1、关闭firewall:systemctl stop firewalld.service #停止firewallsystemctl disable firewalld.service #禁止firewall开机启动firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning

2017-05-25 14:53:03 5701 1

转载 Linux 之 ld.so.conf

链接的时候查找顺序是:-L 指定的路径, 从左到右依次查找由 环境变量 LIBRARY_PATH 指定的路径,使用":"分割从左到右依次查找/etc/ld.so.conf 指定的路径顺序/lib 和 /usr/lib (64位下是/lib64和/usr/lib64)动态库调用的查找顺序:ld的-rpath参数指定的路径, 这是写死在代码中的ld脚本指定的路径

2017-05-25 11:08:54 1522

转载 Linux 之 ldconfig

ldconfigldconfig这个程序,位于/sbin下,它的作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到 /etc/ld.so.co.cache以供使用,因此当安装完一些库文件,或者修改/etc/ld.so.conf增加了库的新的搜索路径,需要运行一下ldconfig,使所有的库文件都被缓存到文件/etc/ld.so.cache中,否则找不到刚安装的库。su

2017-05-25 11:03:32 835

原创 Centos Fail to start LSB:Bring up/down networking

systemctl status network.serviceFail to start LSB:Bring up/down networking在centos7系统下执行:systemctl status network。显示有如题的错误信息。解决:在日志文件中查看具体的错误原因:# cat /var/log/messages |grep network

2017-05-25 10:57:22 632

原创 Centos IPV4没有IP地址

dhclient eth0

2017-05-25 10:54:23 2898

原创 Centos setup opencv

tar -xvf OpenCV-2.4.3.tar.bz2 解压 cd  OpenCV-2.4.3. 进入目录  cmake CMakeLists.txt   make  make install成功

2017-05-23 21:44:46 173

原创 Centos window界面与命令行

yum groupinstall "X Window System"startx[Ctrl] + [Alt] + [F1]~[F6]:文字界面登录 tty1~tty6 终端; [Ctrl] + [Alt] + [F7]:图形界面桌面; (上面这几个组合按键都需要在命令行下输入)

2017-05-23 20:03:20 327

原创 虚拟机 centos 访问外网

重启network service network  restart

2017-05-23 13:26:57 252

原创 windows 传文件 给Linux

PuTTY小巧方便。但若需要向网络中的Linux系统上传文件,则可以使用PuTTY官方提供的PSCP工具来实现上传。PSCP基于ssh协议实现,其用法与SCP命令非常类似。传输文件把本地文件file传输到Linxu服务器的目录中。基本命令格式:pscp 文件 用户名@LinuxIP:目录 使用“ -l ”选项可以指定用户名。

2017-05-22 21:09:14 437

原创 Centos 更改IP地址

2017-05-20 09:34:39 246

转载 C#中的 int?是什么意思

int?:表示可空类型,就是一种特殊的值类型,它的值可以为null用于给变量设初值得时候,给变量(int类型)赋值为null,而不是0int??:用于判断并赋值,先判断当前变量是否为null,如果是就可以赋役个新值,否则跳过public int? a=null;public int b(){return this.a ?? 0;}值类型后面加问号表示可为空null(

2017-05-10 13:14:34 684

转载 Java Socket实现HTTP客户端来理解Session和Cookie的区别和联系

HTTP协议本身是无状态的,即使是同一台电脑同一个浏览器打开同一个页面两次,服务器不知道这两次请求是同一个客户端发送过来的,两次请求是完全独立的。例如,第一次请求时已经登录了,第二次再请求服务器会“忘了”你已经登录过。为了解决这个问题,就有了Cookie和Session。它们的出现是为了让服务器“记住”之前这个客户端的一些数据,让HTTP保持状态。下面通过Java Socket实现的H

2017-05-07 16:55:16 587

原创 templink

http://guojing.me/linux-kernel-architecture/posts/wait-queue/http://guojing.me/linux-kernel-architecture/tags/#等待队列http://www.science.unitn.it/~fiorella/guidelinux/tlk/node5.html

2017-05-07 16:24:26 445

原创 Cache的设计考虑要素

1:Cache地址  逻辑地址 物理地址主要考虑虚拟地址 与MMU,物理地址之间的关系2:Cache 容量    太大 太小都不合适3:映射功能  主要就是内存的数据 映射到Cache的方法4:替换算法   当需要的数据不在Cache 中时且Cache块已满,替换的算法  LRU,FIFO,LFU,Random5:写策略 写直达法写回法写一次

2017-05-06 19:25:54 1995

原创 Cache行大小的考量

当数据块由小变大时,命中率可能是因为局部性原理的原因而增加,随着块大小的增加,更多有用的数据被装入到Cache中,但是随着块变的相当大时,并且使用新取信息的概率变得小于重用已被替换掉的信息概率时,命中率开始下降1:Cache块太大,就意味着减少装入Cache的块数,过少的cache 块数量导致装入的数据很快被替换出去2:块变大时,每个附加字段就会离所需子更远,因此被使用的可能性

2017-05-06 19:09:44 6051

原创 Cache大小的考量

1:L1 Level Cache 不能太大的原因是:  (1):Cache越大,寻址所需的门电路就会越大,结果是大的Cache比小的稍慢  (2):Cache 容量也受到芯片和电路板面积的限制2:L1 Cache 容量大的优点,  Cache容量 大,使得整个系统的平均存取时间接近于单个Cache的存取时间’

2017-05-06 18:57:01 4897

原创 多级Cache原理

多级Cache技术,利用使用一个大的二级Cache来处理一级Cache的缺失,从而降低缺失代价。二级Cache已经逐渐普及,这是因为设计者发现由于硅的局限性以及高时钟平率的要求,一级Cache的容量已经无法更大了。二级Cache的容量通常是一级容量的10倍甚至更多,因而能处理很多一级cache 缺失引起的访问。二级Cache访问通常小于10个处理器周期。主存访问时间通常大于

2017-05-05 16:31:31 13172 3

转载 查看端口连接数量

netstat -an |find /c ":1431"    比如netstat -ano | find "1415"查出了1415端口的连接情况netstat -ano | find "1415" /c 查询出netstat -ano命令结果中包含"1415"的总数netstat -ano|find /c ":1415 "如果不用:拦头,空格截尾,11415、14151

2017-05-05 14:15:49 4929 1

转载 core dumped 核心转储

core dumped是核心转储。进程异常终止,进程用户空间的数据就会被写到磁盘。在Unix/Linux中,有时程序并未经过彻底的调试,使得它们有可能在执行的时候出现一些比如段错误之类的情况,此时可能会导致核心转储(core dumps)。 套用《Classis Shell Scripting》一书的解释:“在Unix系统中,常将‘主内存’(main memor

2017-05-05 09:26:43 1315

转载 可重入函数,不可重入函数与线程安全

•概念重入:即重复调用,函数被不同的流调用,有可能会出现第一次调用还没返回时就再次进入该函数开始下一次调用。可重入:当程序被多个线程反复执行,产生的结果正确。如果一个函数只访问自己的局部变量或参数,称为可重入函数。不可重入:当程序被多个线程反复调用,产生的结果出错。当函数访问一个全局的变量或者参数时,有可能因为重入而造成混乱,像这样的函数称为不可

2017-05-05 09:19:53 405

转载 12306 下铺coding

随机上铺中铺下铺随机上铺中铺下铺

2017-05-04 16:15:31 603

原创 FTP 550 Access is denied.

2017-05-04 11:11:04 19410 1

转载 linux下多进程、多线程编程

(一) 理解Linux下进程的结构  Linux下一个进程在内存里有三部份的数据,就是“数据段”,“堆栈段”和“代码段”,其实学过汇编语言的人一定知道,一般的CPU象I386,都有上述三种段寄存器,以方便操作系统的运行。“代码段”,顾名思义,就是存放了程序代码的数据,假如机器中有数个进程运行相同的一个程序,那么它们就可以使用同一个代码段。  堆栈段存放的就是子程序的返回地址、子程序的参数以

2017-05-04 09:29:51 501

最小操作系统制作过程

这是一个不错的资源 帮助那些想学习 并且想自己写操作系统的人员

2014-10-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除