`
文章列表
1、由于存储器分配出错很难跟踪,某些系统提供了这些函数的其他实现版本。 ptmalloc2是Unix使用的内存分配库 tcmalloc号称比ptmalloc2快,属于gperftools Hoard 的目标是使内存分配在多线程环境中进行得非常快 nedmalloc是一个跨平台的高性能多线程内存分配库,windows word都使用了这个库 2、C 语言里有一个 alloca 函数,可以在堆栈上分配一块内存,当前函数退出时,由于系统堆栈指针的调整,这块内存会被自动回收。今天,在各种编程文档中已经 不太提倡使用了。因为它有许多不安全因素。 3、牛文:内存管理内幕(动态分配的选择、折衷和 ...
1、由于存储器分配出错很难跟踪,某些系统提供了这些函数的其他实现版本。 ptmalloc2是Unix使用的内存分配库 tcmalloc号称比ptmalloc2快,属于gperftools Hoard 的目标是使内存分配在多线程环境中进行得非常快 nedmalloc是一个跨平台的高性能多线程内存分配库,windows word都使用了这个库 2、C 语言里有一个 alloca 函数,可以在堆栈上分配一块内存,当前函数退出时,由于系统堆栈指针的调整,这块内存会被自动回收。今天,在各种编程文档中已经 不太提倡使用了。因为它有许多不安全因素。 3、牛文:内存管理内幕(动态分配的选择、折衷和 ...
1、由于存储器分配出错很难跟踪,某些系统提供了这些函数的其他实现版本。 ptmalloc2是Unix使用的内存分配库 tcmalloc号称比ptmalloc2快,属于gperftools Hoard 的目标是使内存分配在多线程环境中进行得非常快 nedmalloc是一个跨平台的高性能多线程内存分配库,windows word都使用了这个库 2、C 语言里有一个 alloca 函数,可以在堆栈上分配一块内存,当前函数退出时,由于系统堆栈指针的调整,这块内存会被自动回收。今天,在各种编程文档中已经 不太提倡使用了。因为它有许多不安全因素。 3、牛文:内存管理内幕(动态分配的选择、折衷和 ...
(1)umask作用 用于控制新建文件和目录的默认权限 (2)umask使用 umask的初始值为022,执行umask,显示022;umask 024用于设定默认权限 (3)umask计算 umask初始值为022 新建文件时,没有x,只有w和r,最大为666,则默认权限为644 新建目录时,有x,也有w和r,最大为777,则默认权限为755 参考:http://myswirl.blog.163.com/blog/static/513186422010815113542243/
(1)三种时间的定义 时钟时间(墙上时钟时间wall clock time):从进程从开始运行到结束,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。用户CPU时间:就是用户的进程获得了CPU资源以后,在用户态执行的时间。系统CPU时间:用户进程获得了CPU资源以后,在内核态的执行时间。 (2)三者之间的关系 进程的三种状态为阻塞、就绪、运行。时钟时间 = 阻塞时间 + 就绪时间 +运行时间用户CPU时间 = 运行状态下用户空间的时间
(1)临时文件使用需要注意两点:要自动生成文件名,避免冲突;要自动删除文件,避免空间浪费。 (2)mkstemp函数将在系统中以独一无二的文件名创建一个文件并打开 (3)随后,调用unlink函数,文件不会删除,因为文件处于打开状态,直到程序退出时,文件才删除 (4)tmpfile = mkstemp + unlink,this function opens a unique temporary file in binary read/write (w+b) mode. The file will be automatically deleted when it is closed or ...
(1)i节点可以理解为文件的指针,指向文件数据的地址 (2)硬链接,多个i节点指向同一块数据,即使删除源文件,由于i节点中记录了链接数,硬链接也是可以用的。硬链接和源文件可以等同 (3)软链接,i节点的指针(不是数据块的指针),删除源文件后,软链接不可用。 (4)目录项包括文件名和i节点。 参考:http://blog.csdn.net/feiyinzilgd/article/details/5609157
CPAN(Comprehensive Perl Archive Network)就是Perl语言的killer app,1万多位作者编写的12万6千多个模块,让你几乎完成任何任务都能有所凭借,无需从0开始。更早的类似项目还有TeX的CTAN。 在CPAN的启发下,PHP语言有PECL和PEAR,Python有PyPI,Ruby有RubyGems,R有CRAN,Node.js有npm,Lua有LuaRocks,Haskell有Hackage,但更主流的C、C++、Java都没有这种集中的库。 现在,著名的自由软件程序员Paul "Rusty" Russell也启动了C语言的 ...
1、gets和fgets的区别 char *gets(char *s); gets() reads a line from stdin into the buffer pointed to by s untileither a terminating newline or EOF, which it replaces with '\0'. Nocheck for buffer overrun is performed (see BUGS below). char *fgets(char *s, int size, FILE *stream); fgets() reads in at m ...
2011年12月8号,ISO 发布了新的 C 语言的新标准——C11,之前被称为C1X,官方名称 ISO/IEC 9899:2011。 相比C99的变化 1. 对齐处理操作符 alignof,函数 aligned_alloc(),以及 头文件 <stdalign.h>。见 7.15 节。 2. _Noreturn 函数标记,类似 ...
import re,urllib2,time,urllib,os,sys,urllib2 PROXY_INFO = { 'user' : 'l00219108', 'pass' : 'gmail.com', 'host' : 'proxy.hw.com', 'port' : 8080 } def getPage(url): proxy_support = urllib2 . ProxyHandler ( { 'http' : \ 'http://%(user)s:%(pass)s@%(host)s:%(port)d ...
见“如何调试bash脚本”
1、替换目录下文件或单个文件的字符串 #!/bin/bash search_path=$1 old_str=$2 new_str=$3 grep $old_str -rl $search_pathsed -i "s/$old_str/$new_str/g" `grep $old_str -rl $search_path` 使用方法:./replace.sh "/root/" "stdIO.H" "stdio.h" 2、将标准错误(2)的信息也重定向到文件中 /root/c ...
1、CPP调用C函数和C调用CPP函数,Makefile编写思路 先g++ -c或gcc -c将cpp文件或c文件编译成.o文件 然后gcc或g++将.o和c文件或cpp文件编译成bin文件 2、CPP和C函数区别 前者__addii,表示有两个参数,分别为整形,便于多态和重载 后者__add 两者的区别导致连接时会出错 3、CPP调用C函数,Makefile示例 ccpptest:cppfile exe cppfile:cppExample.cpp g++ -c cppExample.cpp -o cppExample.o exe: gcc cF ...
6、数据驱动编程的方法是代码生成工具,由数据产生代码,建设性懒惰是大师级程序员的基本美德之一 7、除非迫不得已,不要增加配置项,因为增加十个选项则会产生1024倍测试量 8、软件接口模式,实际上讲述了各种软件实现的一个框架 9、程序员工具箱中最强大的优化技术就是不做优化 10、简单即美即雅即善,而复杂即丑即怪即恶 11、Unix系统是支持语言最多的系统,C++:狗被钉上软肢而变成的章鱼
Global site tag (gtag.js) - Google Analytics