![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
UNIX
文章平均质量分 80
林散
这个作者很懒,什么都没留下…
展开
-
SCP 指令 远程复制
转自:http://hi.baidu.com/hustwk/blog/item/128a66227a3292a14723e87e.html使用 scp 指令可以使用 scp 指令來透過一個安全且加密的連線在機器間傳輸檔案,就如同 rcp 指令。傳輸一個本機檔案到遠端機器的一般語法如下:scp localfile username@tohostname:/newfilenamel原创 2016-05-15 22:12:28 · 430 阅读 · 0 评论 -
gcc #pragma 与__attribute
FROM:http://www.lslnet.com/linux/dosc1/03/linux-120104.htm在使用gcc的时候,特别是阅读源码的时候会看到#pragma pack(n)#pragma pack()和__attribute((aligned (8)))__attribute__ ((packed));下面写一下我的一点认识,不一定对,欢迎指正这两种方式是gc转载 2016-05-15 22:13:46 · 2493 阅读 · 0 评论 -
字节对齐详解
FROM:http://blog.chinaunix.net/space.php?uid=16710665&do=blog&id=2737041一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排转载 2016-05-15 22:13:44 · 297 阅读 · 0 评论 -
细说#pragma pack(n)
FROM:http://www.sf.org.cn/Article/base/200509/260.html在C语言中,结构是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如数组、结构、联合等)的数据单元。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序转载 2016-05-15 22:13:40 · 256 阅读 · 0 评论 -
C 指针之右左法则
转自:http://blog.chinaunix.net/uid-0-id-3055564.htmlC语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。转载 2016-05-15 22:13:09 · 299 阅读 · 0 评论 -
The Linux GCC HOWTO中译版
Linux GCC HOWTO中译版" TITLE="The Linux GCC HOWTO中译版" />[保留] The Linux GCC HOWTO中译版 作者: Daniel Barlow 译者: 陈建勋(Frank J.S. Chen) v1.17, 28 February 1996 ____________转载 2016-05-15 22:12:59 · 645 阅读 · 0 评论 -
The Linux GCC HOWTO
转自:http://www.faqs.org/docs/Linux-HOWTO/GCC-HOWTO.htmlThe Linux GCCHOWTODaniel BarlowLinux DocumentationProjectMay 1999This document covers how to set up the GNU C compiler anddevelopment li转载 2016-05-15 22:12:56 · 1374 阅读 · 0 评论 -
APUE.2e程序清单4-7举例分析
APUE.2e程序清单4-7举例分析2008-06-24 19:41分析apue2e上的程序清单4-7 递归降序遍历目录层次结构,并按文件类型计数。分析环境:FreeBSD 6.2-RELEASE,i386。程序清单4-7,英文版即121页的Figure 4.22. Recursively descend adirectory hierarchy, counting fil转载 2016-05-15 22:12:53 · 486 阅读 · 0 评论 -
typedef 的用法2
typedef 的用法 *****以下是参考部分***** 此部分参考自:http://blog.sina.com.cn/u/572f7666010008dm 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; //这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;转载 2016-05-15 22:12:51 · 200 阅读 · 0 评论 -
tcp wrapper 学习
转自:http://jianjian.blog.51cto.com/35031/41949一、Tcp_wrapper简介 Tcp_wrapper是Wietse Venema开发的一个免费软件。Tcp_wrapper的诞生有个小小的故事,大约1990年,作者所在大学的服务器屡屡受到一个外来黑客侵入,因为受害主机的硬盘数据屡次被rm-rf/命令整个抹掉,所以找寻线索极为困难,直到有一天转载 2016-05-15 22:13:49 · 1019 阅读 · 0 评论 -
restric关键字
转自:http://www.360doc.com/content/12/0416/10/1317564_204045854.shtml补充一个APUE中的内容,即是restrict修饰符。下面一段引自Sun公司的技术文档:restrictObjects referenced througha restrict-qualified pointer have aspecial a转载 2016-05-15 22:16:19 · 945 阅读 · 0 评论 -
堆内存和栈内存详解
堆:顺序随意栈:先进后出堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。原创 2016-05-15 22:12:36 · 269 阅读 · 0 评论 -
wireshark统计工具
转自:http://openmaniak.com/cn/wireshark_stat.phpWireshark提供了大量不同的统计工具供您使用和参考。您可以通过点击屏幕顶部的"statistics"标签找到它们。我们将会在下面举例说明:综合协议层会话节点输入输出图会话列表节点列表服务响应时间 R原创 2016-05-15 22:12:38 · 1082 阅读 · 0 评论 -
C语言的那些秘密之---函数返回局部…
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意原创 2016-05-15 22:13:01 · 416 阅读 · 1 评论 -
LINUX 之 apt-get
转自:http://os.51cto.com/art/201006/206853.htmDebian又一次充当了开路先锋的角色。她首创了Linux apt-get命令(Advanced PackagingTool)。这一工具後来被Conectiva移植到红帽子系统中用于对rpm包的管理。在其他一些发行版中我们也能看到她的身影。Linux apt-get命令是需要用命令来操作的软件,不过现在也原创 2016-05-15 22:13:51 · 215 阅读 · 0 评论 -
mprotect()
mprotect: 设置内存访问权限mmap 的第三个参数指定对内存区域的保护,由标记读、写、执行权限的 PROT_READ、PROT_WRITE 和PROT_EXEC 按位与操作获得,或者是限制没有访问权限的 PROT_NONE。如果程序尝试在不允许这些权限的本地内存上操作,它将被SIGSEGV 信号(Segmentation fault,段错误)终止。在内存映射完成后,这些权限仍可以被原创 2016-05-15 22:13:54 · 1152 阅读 · 0 评论 -
mmap()
mmap函数 #include void *mmap(void *start, size_t length, int prot,int flags, int fd, off_t offset); int munmap(void *start, size_t length);参数 start:映射区的开始地址。 length:映射区的长度。 prot:期原创 2016-05-15 22:13:57 · 888 阅读 · 0 评论 -
CVS安装与pserver模式的配置
http://developer.51cto.com/art/200805/87067.htmhttp://tmuffamd.iteye.com/blog/1005993http://wangchunsheng.com/article-view-86.htmlhttp://hi.baidu.com/xiaoxxcool/blog/item/d146684278375c189213c62b.原创 2016-05-15 22:13:59 · 431 阅读 · 0 评论 -
pthread_once 函数
转自:http://blog.csdn.net/yangzhiloveyou/article/details/8043285#include#includepthread_once_t once=PTHREAD_ONCE_INIT;void once_run(void){ printf("once_run in thread %d\n",pthread_self原创 2016-05-15 22:16:21 · 374 阅读 · 0 评论 -
linux C 一个堆栈错误的原因:*** glibc detected *** ./test: free():invalid pointer:
char *li = malloc(250);printf("%d",li);li="nihaoa";printf("%d",li);li="wawu";printf("%d",li);free(li);li=NULL; //这个错误也是一样的,因为重新给li赋值之后,li的地址发生了变化,再用free(li)释放,已经不是原来malloc的地址了,也就是指针地址非法。linu原创 2016-05-15 22:12:41 · 2335 阅读 · 0 评论