c
随风奔跑的小蜗牛
prownd is me!
展开
-
ccufl 一个简单的通用c函数库
ccuflc common use function library,contain some frequently use function. eg :hashtable,linklist,array and so on.一个简单的通用c函数库,在工作中经常使用的。下面来说一说编译,安装和使用下面就开始linxu下的源码编译三部曲。哦,是二部曲,没有configu原创 2016-07-15 14:37:01 · 361 阅读 · 0 评论 -
1k行代码的编辑器-kilo源码分析
kilo简介:A text editor in less than 1000 LOC with syntax highlight and search.kilo由redis的作者antirez 编写的,代码只有短短的1k行,但是基本功能都有,也有代码高亮。很短但很强大。其实kilo代码逻辑很简单。顺着main函数看下去就行,数据结构也不复杂。花个小半天捋一捋,差不多能弄懂脉络。原创 2016-07-18 17:09:16 · 1269 阅读 · 0 评论 -
Makefile 连接静态库注意事项
Linux的静态库是以.a结尾的,要连接静态库有两种方法,一种是在编译命令最后直接加上库路径/库名称。例如你的库在绝对目录/lib/libtest.a下面你就可以这样来编译$(CC) $(CFLAGS) $^ -o $@ /lib/libtest.a另外一种方法是,你可以用-L制定库德路径,用-l指定库的名称例如库的名称为libtest.a 那么就用-ltestCROS转载 2012-11-13 16:26:09 · 1045 阅读 · 0 评论 -
visudo精确用户赋权(sudo)
原文BLOG:http://iminmin.blog.51cto.com/689308/455992sudo” 是Unix/Linux平台上的一个非常有用的工具,允许为非根用户赋予一些合理的“权利”,让他们执行一些只有根用户或特许用户才能完成的任务,从而减少根用户的登陆次数和管理时间同时也提高了系统安全性。sudo的目的:为非根用户授予根用户的权限;配置文件:/etc/转载 2012-10-19 15:59:29 · 840 阅读 · 0 评论 -
gcc参数详解
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x langua转载 2012-10-19 09:41:41 · 526 阅读 · 0 评论 -
从B 树、B+ 树、B* 树谈到R 树(转载)
转载自:http://blog.csdn.net/v_JULY_v 第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉转载 2012-10-18 15:24:28 · 2451 阅读 · 0 评论 -
VC命令行编译参数介绍
VC命令行编译参数介绍CL.exe是控制Microsoft C和C++编译器与链接器的32位工具。编译器产生通用对象文件格式(COFF)对象(.obj)文件。链接器产生可执行文件 (.exe)或动态链接库文件(DLL)。 CL 命令行使用下列语法: CL [option...] file... [option |转载 2012-10-18 14:40:28 · 751 阅读 · 0 评论 -
C++编译模式
一、C++编译模式通常,在一个C++程序中,只包含两类文件——.cpp文件和.h文件。其中,.cpp文件被称作C++源文件,里面放的都是C++的源代码;而.h文件则被称作C++头文件,里面放的也是C++的源代码。C+ +语言支持“分别编译”(separate compilation)。也就是说,一个程序所有的内容,可以分成不同的部分分别放在不同的.cpp文件里。.cpp文件里的东西都是相对转载 2012-10-16 10:50:42 · 411 阅读 · 0 评论 -
linux2.6.29 启动过程详细分析
linux2.6.29 启动过程详细分析 突然心血来潮,想自己写个模块,于是就把linux2.6.29的启动过程有分析了一下,整理出来和大家分享下。linux的启动大体上可以分几个步骤:第一部分 grub部分,内核的加载过程。这里总结一下别人的思想,因为自己没怎么看过grub的源码。1. Bios执行int 0x19,加载MBR至0x7c00并跳转执行,转载 2012-10-17 17:11:19 · 480 阅读 · 0 评论 -
linux下Makefile
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和 professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写ma转载 2012-10-17 14:31:30 · 584 阅读 · 0 评论 -
linux LD 连接器
ld,即GNU的连接工具,用于将各目标文件合并在一起,并重新安排他们的数据以及符号的引用,常常是程序编译的最后一步。ld scripts 即ld脚本。ld 脚本的主要目的是要描述怎样将输入文件的各段印象到输出文件中去。它控制输出文件在内存的布局情况。-----------------------------------------------------------------转载 2012-10-17 14:27:29 · 520 阅读 · 0 评论 -
Linux系统中静态库和动态库的生成和使用
Linux系统中静态库和动态库的生成和使用一、静态库的创建和使用:1、生成静态库 :库名 libmylib.aar rcs libmylib.a mylib.o2、将静态库copy到 /usr/lib/ 或/lib/ 目录下cp libmylib.a /usr/lib/3、静态库的使用比如测试文件为test.c转载 2012-10-16 18:26:52 · 443 阅读 · 0 评论 -
linux下的静态库和动态库
库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库两种。 静态库和动态库的区别1. 静态函数库 这类库的名字一般是libxxx.a;利用静态函数库编译成的文件比较大,因为整个 函数库的所有数据都会被整合进目标代码中,他的优点就显而易见了,即编译后的执行程序不需要外部的函数库支持,因为所有使用的函数都已经被编译进去了。当然这也会成为他的转载 2012-10-16 18:26:01 · 252 阅读 · 0 评论 -
error while loading shared libraries: xxx.so.x"错误的原因和解决办法
error while loading shared libraries: xxx.so.x"错误的原因和解决办法 一般我们在Linux下执行某些外部程序的时候可能会提示找不到共享库的错误, 比如:tmux: error while loading shared libraries: libevent-1.4.so.2: cannot open shar转载 2012-10-16 18:25:09 · 9192 阅读 · 2 评论 -
GCC编译过程
GCC编译过程gcc的编译流程分为四个步骤,分别为:· 预处理(Pre-Processing)· 编译(Compiling)· 汇编(Assembling)· 链接(Linking)以hello.c为例子,在这四个步骤中可以设置选项分别生成hello.i, hello.s, hello.o以及最终的hello文件:hello.c : 最初的源代码文件;h转载 2012-10-17 12:03:00 · 309 阅读 · 0 评论 -
c和c++的include
#include相信学习和使用c++的同学都熟悉,今天深入学习一下。#include "" 是先从本地目录开始寻找,然后去找系统路径。#include 其作用是在系统编译之前,将包含文件中的内容拷贝到当前文件的当前位置之后,再进行编译。 C/C++头文件一览C、传统 C++#include //设定插入点#include //字符处转载 2012-10-16 10:51:54 · 598 阅读 · 0 评论 -
再回首之二分查找
本来觉得这是一个很简单,简单到入门必会的东西。可是。但是现在却有了新的想法。家里余粮不多,最近找米,有卖家问了个问题。你给写下二分查找我心想,这么so easy的问题也问吗?但是还是按规矩来写。一写不要紧。折磨了是5分钟。总算是写出来,自己不满意,感觉有问题。回来好好想想。这个问题确实考察了很多。//迭代实现,非递归int binSearc原创 2016-08-16 10:27:48 · 392 阅读 · 0 评论