- 博客(10)
- 资源 (15)
- 收藏
- 关注
转载 获得Unix/Linux系统中的IP、MAC地址等信息
<br />获得Unix/Linux系统中的IP、MAC地址等信息<br />实际环境和特殊需求往往会将简单问题复杂化,比如计算机IP地址,对于一个连接中socket,可以直接获得本端和对端的IP、端口信息。但在一些特殊场合我们可能需要更多的信息,比如系统中有几块网卡,他们的Mac地址是多少,每块网卡分配了几个IP(一个网卡对应多个IP)等等。<br />这些信息往往需要通过ifconfig指令来获得,对于程序员来说,在代码中调用外部的shell指令可不是个最佳方案,因为没人能保障不同平台、不同版本的ifc
2010-07-30 15:42:00 3077
转载 堆和栈
什么是堆内存分配和栈内存分配???五大内存分区 <br />在C++中,内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 <br />栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区。里面的变量通常是局部变量、函数参数等。 <br />堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete。如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收。 <br />自由存储区,就是那些由ma
2010-07-24 11:52:00 741 1
转载 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++]
内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区[C++][内存管理]一. 在c中分为这几个存储区<br />1.栈 - 由编译器自动分配释放<br />2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收<br />3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放<br />4.另外还有一个专门放常量的地方。- 程序结束释放<br />
2010-07-24 11:14:00 715
转载 Linux内存管理
<br />Linux内存管理<br />摘要:本章首先以应用程序开发者的角度审视Linux的进程内存管理,在此基础上逐步深入到内核中讨论系统物理内存管理和内核内存的使用方法。力求从外到内、水到渠成地引导网友分析Linux的内存管理与使用。在本章最后,我们给出一个内存映射的实例,帮助网友们理解内核内存管理与用户内存管理之间的关系,希望大家最终能驾驭Linux内存管理。前言<br />内存管理一向是所有操作系统书籍不惜笔墨重点讨论的内容,无论市面上或是网上都充斥着大量涉及内存管理的教材和资料。因此,我们这里所
2010-07-24 11:07:00 678
原创 makefile编译静态库和动态库
<br />一。静态库<br />创建静态库<br /> 仍使用刚才的hello.c和test.c。<br /> 第一步,生成目标文件。<br /> gcc -c hello.c<br /> 第二步,把目标文件归档。<br /> ar r libhello.a hello.o<br /> file libhello.a<br /> 下面一行命令就是教你如何在程序中链接静态库的:<br /> gcc test.c -lhello -L. -static -o hello.static<br /
2010-07-19 09:31:00 12464 1
转载 Linux内存使用详解
Linux内存使用详解 =========================================================== 作者: ysping(http://ysping.itpub.net)<br />发表于:2009.08.17 10:36<br />分类: UNIX/LINUX <br />出处:http://ysping.itpub.net/post/40024/490230<br />----------------------------------------------
2010-07-08 18:18:00 824
转载 一个通用Makefile的编写
<br />一个通用Makefile的编写 <br />作者:杨硕,华清远见嵌入式学院讲师。<br />我们在Linux环境下开发程序,少不了要自己编写Makefile,一个稍微大一些的工程下面都会包含很多.c的源文件。如果我们用gcc去一个一个编译每一个源文件的话,效率会低很多,但是如果我们可以写一个Makefile,那么只需要执行一个make就OK了,这样大大提高了开发效率。但是Makefile的语法规则众多,而且缺乏参考资料,对于初学者来说,写起来还是有一定的难度,往往令很多人望而生畏。下面我们介绍一
2010-07-08 16:19:00 663
原创 判断目录是否存在并创建
1 用 int access(const char *pathname, int mode); 判断有没有此文件或目录 --它区别不出这是文件还是目录2 用 int stat(const char *file_name, struct stat *buf); 判断该文件或目录是否否存在 ;得到st_mode,然后判断是不是目录文件。 stat()系统调用看是否成功,不成功就不存在,成功判断返回的st_mode是否是一个文件夹。 ****
2010-07-08 10:42:00 8586
原创 十六进制mac 的转换
<br />#include<stdio.h><br />#include<string.h><br />#include<stdlib.h><br />int str_to_x(char *buffer, int lenght)<br />{<br /> char tmp[5] = {'0', 'x', 0};<br /> char tmp_buffer[10] = {0};<br /> for(int i=0; i < lenght; i++)<br /> {<br /> m
2010-07-02 13:37:00 3073
原创 获得主机IP
gethostbyname将返回一个struct hostent的指针,这个结构定义如下:struct hostent { char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of addr
2010-07-02 13:24:00 477
Berkeley DB 资料
2010-09-21
linux c函数速查手册
2009-10-13
lcd ampire128x64 的使用 proteus
2009-05-17
autocad做的小户型平面图
2009-03-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人