Linux
文章平均质量分 77
happytengfei
编程爱好者——小牛
展开
-
Linux下求取文件长度的几种常用方法
转自:http://tieba.baidu.com/p/1235510146在文件IO的编程过程中,经常会遇到如何求取文件长度的问题,这里,我将工作及教学中积累的一些常用方法写出来与大家分享。第一类:lseek/fseek1、lseek代码片段:int GetFileSize(char *_pName) {int iFd = -1;int i转载 2012-08-30 14:28:43 · 341 阅读 · 0 评论 -
Linux命令:dirs ; pushd ; popd
Linux命令:用“dirs”、“pushd”、“popd”来操作目录栈你可以将目录压入目录栈,也可以稍后将该目录弹出。在随后的示例中,将会用到以下三个命令:* dirs:显示目录栈* pushd:将目录压入目录栈* popd:将目录弹出目录栈dirs命令显示当前所在目录及目录栈中的内容。即使目录栈为空,dirs也会显示当前所在的目录,示例如下:转载 2014-01-23 10:50:13 · 425 阅读 · 0 评论 -
g++参数介绍
g++参数介绍[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 预处理器cpp2.将预处理后的文件不转换成汇编语言,生成文件.s 编译器egcs3.有汇编变为目标代码(机器代码)生成.o的文件 汇编器as4.连转载 2014-02-06 22:40:46 · 401 阅读 · 0 评论 -
ldd xxx.so not found 解决方案
背景:假设有两个so, 一个libtarget.so, 一个libsource.so,然后想把source.so 链接到target.so里,使用g++ -Llib_path_of_source.so -lsource.so -o libtarget.so。遇到的问题是ldd target.so 时,提示我libsource.so not found .解决思路:1 将lib pa原创 2014-02-07 11:01:41 · 3536 阅读 · 0 评论 -
jni调试之GCJ
这几天用JNI写了一个Demo, 然后就想着我应该怎么调试JNI的程序呢?以前做过android的开发,知道在android上可以用ndk-build + ndk-gdb调试c,c++的code. 那么在Linux上,在没有图形界面的环境下,怎么调试JNI的程序呢?Google了很长时间,尝试了各种方法,得到如下的方案:1 使用GCJ将Java编译成class 文件gcj -C原创 2014-02-07 17:02:24 · 850 阅读 · 0 评论 -
Linux GCJ介绍
yum updateyum install gcj(or java-gcj-compat)如果上面步骤失败的话,再试一下下面这个命令:yum install gcc-java原创 2014-02-08 09:15:47 · 2650 阅读 · 0 评论 -
Linux strip命令
strip 命令用途通过除去绑定程序和符号调试程序使用的信息,减少扩展公共对象文件格式(XCOFF)的对象文件的大小。语法strip [ -V] [ -r [ -l ] | -x [ -l ] | -t | -H | -e | -E ] [ -X {32|64|32_64}] [ -- ] File ...描述strip 命令减少 XCOFF转载 2014-02-08 10:38:51 · 397 阅读 · 0 评论 -
GDB 命令详解
熟练使用gdb是一个linux下开发人员必备的一项技能,我们由浅入深的学习一下gdb的强大功能。一.gdb简单介绍名称 gdb - GNU 调试器提要 gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog]转载 2013-03-19 18:34:12 · 584 阅读 · 0 评论 -
Linux守护进程(init.d和xinetd)
Linux守护进程(init.d和xinetd)转载 2014-07-10 15:36:38 · 438 阅读 · 0 评论 -
Linux基本概念(二)
在学习Linux的过程中,总有一些基本的概念困扰着我,比如,什么是文件系统,根文件系统?挂装到底是个什么概念?文件系统和内核到底是什么关系啊?这次主要通过度娘和Google把这些不太清楚的概念归纳了一下,具体如下: 在Linux基本概念(一)中,简单的解惑了什么是Linux内核。这里我相信肯定有不少人和我一样,对什么是文件系统可能有所了解,但是往往会非常困原创 2014-01-05 12:24:48 · 898 阅读 · 1 评论 -
Linux基本概念(一)
在学习Linux的过程中,总有一些基本的概念困扰着我,比如,什么是内核?控制台,Shell程序和内核的关系是怎么样的?这次主要通过度娘和Google把这些不太清楚的概念归纳了一下,具体如下:1 Linux 体系结构 2 Linux内核2.1内核基本功能· 内存管理· 进程管理进程调度,IPC进程4要素 程序 PCB原创 2013-12-31 18:56:27 · 1014 阅读 · 0 评论 -
Linux命令行 几大参考网站
1 Linux命令行大全 http://linuxcommand.org/2 Linux in a Nutshell, 5th Edition.http://www.linuxdevcenter.com/cmd/3 Linux CookBook http://dsl.org/cookbook/cookbook_toc.html原创 2013-12-30 18:18:46 · 362 阅读 · 0 评论 -
内存映射(mmap) 介绍 (二)
具体例子:1 写大文件 :转自:http://hi.baidu.com/ah__fu/item/f09121dd35b2c7db241f4057//写入200MB数据耗时0.688s/*测试大数据写入的性能 test_mmap.cpp 使用内存映射文件来写入文件*/#include #include #include #include #include转载 2012-08-31 08:38:42 · 661 阅读 · 0 评论 -
内存映射(mmap) 介绍 (三)
mmap注意点:转自:http://stackoverflow.com/questions/8411709/memory-mapped-i-oI wrote a code for writing the content to the mapped buffer which mapped by using the mmap() system call. After I did some转载 2012-08-31 08:45:03 · 964 阅读 · 0 评论 -
内存映射(mmap) 介绍 (一)
转自:http://www.makelinux.net/alp/037 5.3 Mapped MemoryMapped memory permits different processes to communicate via a shared file. Although you can think of mapped memory as using a shared memor转载 2012-08-31 08:35:11 · 645 阅读 · 0 评论 -
段错误bug的调试
A segmentation fault (often shortened to segfault) is a particular error condition that can occur during the operation of computer software. In short, a segmentation fault occurs when a program attemp转载 2012-10-01 17:57:16 · 565 阅读 · 0 评论 -
Linux内核编程和用户应用程序编程的几点不同之处
转自:http://www.linuxdiyf.com/viewarticle.php?id=57959,感觉没有把本质说清楚1.linux内核编程和用户应用程序编程最大的不同是,前者是在内核态下运行的,而后者主要在用户态下运行,有时通过一些系统调用切换到内核态下运行,但这时间不会太长。 2.内核编程引进的头文件都在内核源码的include文件夹下,比如我的debian转载 2012-11-10 10:25:42 · 1268 阅读 · 0 评论 -
GDB 多线程调试
一、多线程调试多线程调试可能是问得最多的。其实,重要就是下面几个命令:info thread 查看当前进程的线程。 info locals 查看局部变量thread 切换调试的线程为指定ID的线程。 break file.c:100 thread all 在file.c文件第100行处为所有经过这里的线程设置断点。 set scheduler-locking off|on|step转载 2013-03-26 17:12:12 · 313 阅读 · 0 评论 -
Broken Pipe Error
下面这段话用一个例子解释了什么时候会出现Broken Pipe. 简单的说就是,当peer socket 关闭时,可是你还是再往这个socket上发送数据的时候,Broken Pipe就会产生。When you run type rvm | head -1, bash executes type rvm in one process, head -1 in another.1转载 2013-06-03 13:49:35 · 2687 阅读 · 0 评论 -
GCC编译选项
编译选项让我们先看看 Makefile 规则中的编译命令通常是怎么写的。大多数软件包遵守如下约定俗成的规范:#1,首先从源代码生成目标文件(预处理,编译,汇编),"-c"选项表示不执行链接步骤。$(CC) $(CPPFLAGS) $(CFLAGS) example.c -c -o example.o#2,然后将目标文件连接为最终的结果(连接),"-o"选项用于指定输出文件的转载 2013-06-08 17:40:30 · 1005 阅读 · 0 评论