
Linux-C
文章平均质量分 57
财务码农小老板
我以前是一个穷逼财务,现在想做一名小资码农,将来我还想做不管闲事的小老板。
展开
-
堆区,栈区,全局变量,局部变量
堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态转载 2016-09-24 22:25:28 · 1739 阅读 · 0 评论 -
vi -t tag的配置过程
步骤一:安装ctags sudo apt-get install ctags步骤二:切换到/usr/include目录下 cd /usr/include步骤三:生成tags文件 sudo ctags -R步骤四:配置环境变量 export PATH=”/usr/lib/lightdm/lightdm:/usr/include” export完成原创 2017-09-10 22:30:43 · 853 阅读 · 0 评论 -
Linux内核能够识别的设备,对应源码中
概述 设备管理是Linux中比较基础的东西,但是由于Linux智能程度的越来越高,Udev的使用越来越广泛,使得越来越多的Linux新用户对 /dev 目录下的东西变得不再熟悉。有时候遇见问题就会变得抓狂。Linux 中的设备有2种类型:字符设备(无缓冲且只能顺序存取)、块设备(有缓冲且可以随机存取)。每个字符设备和块设备都必须有主、次设备号,主设备号相同的设 备是同类设备(使用同一个驱动程序)。转载 2016-10-31 09:19:53 · 3602 阅读 · 0 评论 -
Linux中的设备文件与设备号
在Linux下,一切皆文件,设备也不例外,为了管理这些设备,系统为它们各自都编了号,而每个设备号又分为主设备号和次设备号。主设备号用来区分不同类型的设备,而次设备号用来区分同一类型内的多个设备(及其设备分区)。 一个Linux系统,当前所有注册设备的主设备号可以通过/proc接口查看:[root@localhost lenky]# cat /proc/devices Character devi转载 2016-10-31 09:18:55 · 951 阅读 · 0 评论 -
从汇编的角度看待const与#define
本文转载自:http://www.cnblogs.com/huhuuu/archive/2013/11/24/3439830.html 先观察一下的代码:#include<stdio.h>#int main(){ const int i=1; int y; int *pi=(int*)&i; *pi=2; y=*pi; int tempi;转载 2016-10-25 19:05:23 · 758 阅读 · 0 评论 -
C 语言中定义和声明的区别
本文转载自http://www.cnblogs.com/GavinDai/archive/2011/10/24/2222735.html 我们在程序设计中,时时刻刻都用到变量的定义和变量的声明,可有些时候我们对这个概念不是很清楚,知道它是怎么用,但却不知是怎么一会事,下面我就简单的把他们的区别介绍如下:(望我的指点对你受益)变量的声明有两种情况:1、一种是需要建立存储空间的。例如:int a 在声转载 2016-10-24 19:36:32 · 334 阅读 · 0 评论 -
进程间通信-套接字 (文件服务器-下载服务器文件目录)
服务器端 #include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/stat.h>#include <unistd.h>#include <errno.h>#include <dirent.h>#include <fcntl.h>#include原创 2016-09-25 23:44:06 · 592 阅读 · 0 评论 -
进程间通信-套接字 忘记加括号产生的gcc compile error
//warning gcc compile error : ocket operation on non-socket //产生原因,创建、绑定、接受绑定错误判断时,忘记加“()”了 // if( ( sockfd = socket ( AF_INET, SOCK_STREAM, 0 ) ) < 0 ) 正确 // if( sockfd = socket ( AF_INET, SOCK_S原创 2016-09-24 23:45:25 · 536 阅读 · 0 评论 -
编译系统四步骤——预处理、编译、汇编、链接
编译系统gcc编译器将C程序文件翻译成一个可执行目标文件分为四个阶段(预处理、编译、汇编、链接),执行这四个阶段的程序构成了编译系统。 C程序文件/hello.c#include <stdio.h>int main(int argc, const char *argv[]){ printf("hello world\n"); return 0;}一. 预处理:预处理器(cpp)根原创 2017-08-17 16:51:04 · 1034 阅读 · 0 评论