- 博客(36)
- 收藏
- 关注
原创 Linux系统--autoconf和automake的使用
1)建立工作目录mkdir hello/cd hello/2) 创建文件vim hello.cpp3) 生成configureautoscanmv configure.scan configure.in编辑configure.in:vim configure.ina)最开始加上AC_INIT(hello.cpp)AC_INIT_AUT
2012-10-08 17:21:51 322
原创 Linux系统--SHELL编程小记
1) ()使用子shelllet 等价于 (()) test等价于[ ] , [[ ]]$()等价于 ``,命令替换$(())执行整数计算if((算数运算))if [ [ 字符串运算 ] ] 2) screen 保持会话,不受ssh关闭影响tee 输出分流,输出到文件的也输出到屏幕export 变量到处为环境变量 3) cd - 返回前一个目录p
2012-10-08 17:14:01 338
原创 C语言--库
动态库和静态库:在程序中使用动态库和静态库时,它们的载入顺序是不一样的。静态库的代码在编译时就拷贝到应用程序中,因此当多个应用程序使用同一个静态库时,内存中会有多个副本。这样的优点是节省编译时间。动态库是在程序开始运行后调用库函数时才被载入,被调函数在内存中只有一个副本,并且程序可以在程序运行期间释放动态库所占用的内存,腾出空间供其他程序使用。
2012-09-19 17:28:13 562
原创 网络--基本知识小记
重读本科时的网络课本,恶补网络知识,见笑了。。。网络协议OSI:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层(共7层)TCP/IP:应用层(Telnet,FTP,E-Mail),运输层(TCP,UDP),网络层(IP,ICMP,IGMP),链路层(ARP,RARP,PPP)IP地址: IPv4 32bitA类:0 | 7 bit | 24 bit
2012-09-19 17:13:33 798
原创 操作系统--基本概念
翻看本科的操作系统书,复习总结了下,以下知识点还是太浅了 中断:中断是指某个事件(例如电源掉电、定点加法溢出或I/O传输结束等)发生时,系统中止现行程序的运行、引出处理该事件程序进行处理,处理完毕后返回断点,继续执行。中断响应的实质是交换指令执行地址和处理器状态,以达到如下目的:保留程序断点及有关信息;自动转入相应的中断处理程序执行。硬件支持包括:指令计数器,处理器状态寄存器,中断
2012-09-19 11:10:24 528
原创 VS 2005 Warning 小记
warning C4996: “strcpy”被声明为否决的1> d:/program files/microsoft visual studio 8/vc/include/string.h(73) : 参见“strcpy”的声明1> 消息:“This function or variable may be unsafe. Consider using strc
2012-09-18 21:25:24 281
原创 C语言--rand
#include #include #define NUMBER XXXsrand(time(NULL)):int randNumber = rand() % NUMBER; 使用rand函数产生随机数之前,需要进行随机数种子设置。其中%NUMBER是为了生成一定范围内的随机数。srand函数是随机数发生器的初始化函数。 原型:void srand(uns
2012-09-11 15:43:29 641
原创 C语言--static
1.请解释关键字static,并说明至少两种static的用途。 答:静态变量(以static作为修饰符的变量)存储在内存的静态存储区,静态存储区在程序的整个运行期间都存在。未经初始化的静态变量会被程序自动初始化为0(自动变量的值是任意的,除非被显示初始化)。静态变量分为两种:全局静态变量和局部静态变量。全局静态变量是在所有函数之外定义的静态变量,局部静态变量是在某个函数内部定义的变量。全
2012-09-04 14:58:15 303
原创 算法--基本问题小记1
说明:以下摘自《程序员面试宝典(第二版)》,《Linux C编程实战》,自己和同学的面试体验等还有参照博客:http://zhedahht.blog.163.com/1)float变量x与0比较if((x >= -0.00001) && ( x 说明:不能用==或!= 0.0 2)随机数生成: 头文件stdlib.h, time.hsrand(time(NU
2012-09-04 14:57:08 352
原创 算法--小代码记录1
说明:以下代码摘自《程序员面试宝典(第二版)》,自己编写,同学编写等,从网上转载的会标注具体转载地址。1)递归反序输出字符串void reverse(char *p){ if(*p == '\0') return; reverse(p + 1); putchar(*p); return;} 2)
2012-09-04 14:56:49 314
原创 算法--两个数大小比较,不用分支判断
说明:摘自《程序员面试宝典(第二版)》,以及同学讨论 原题:There are two in variables: a and b, don't use "if", "?:", "switch" or other judgement statements, find out the biggest one of the two numbers.(有两个变量a和b,不
2012-09-04 14:56:35 2249 1
转载 C语言--memmove和memcpy比较
memmove 原型:void *memmove( void* dest, const void* src, size_tcount );用法:#include 或#include 功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域可以重叠,但复制后dest内容会被更改。函数返回指向dest的指针。
2012-09-04 14:56:24 446
原创 Linux系统--设备驱动程序学习记录1
说明:以下是自己阅读《linux设备驱动程序》(美)科波特 部分章节的笔记(《Linux Device Drivers 3rd》 Corbet Jonathan & Rubini Alessandro & Kroah-Hartman Greg)Chapter 1. 设备驱动程序简介1)编程问题: 机制——需要提供什么功能 策略——如
2012-09-04 14:56:12 415
原创 Linux系统--expr命令
expr 1024 * 1024 语法错误expr 1024 \* 1024 正确解释:使用expr指令进行表达式运算时,最重要的就是要正确的书写表达式。因为有些字符在Shell中有特殊用途,所以为了屏蔽其特殊用途需要使用“\”。另外在运算符的前后必须加空格。
2012-09-04 14:55:55 420
原创 C++语言--基本知识小记1
说明:以下内容摘自《C++ Primer 中文版(第四版)》(《C++ Primer(4th Edition)》 Stanley B.Lippman,Josée LaJoie,Barbara E.Moo)1)C++中main函数必须返回int类型 2)Linux GNU编译器 g++ prog1.cc -o prog1Windows
2012-09-04 14:54:30 383
原创 Linux系统C语言--基本知识小记1
1)使用UNIX系统调用的接口,可以提升代码效率 syscall.hread, write(int fd, char *buf, int n)open(char *name, int flags, int perms)creat(name, perms)close(fd)unlink(name) = removelseek(int fd, lo
2012-09-04 14:53:12 306
原创 C语言--基本知识小记1
1)#include "my_tool.h" 在main.c中和mytool.c中my_tool.h中列出mytool.c中的函数接口 2)#includefprintf(stderr, "%s", strerror(errno)); 3)\a 响铃提示'\0'表示值为0的字符,即NULL 4)0.0可以表示为.0 5)short类型 16
2012-08-30 15:22:40 638
原创 C语言--简单小代码1
说明:以下内容摘自《C程序设计语言》,自己编写等(《The C Programming Language》 Brian W.Kernighan,Dennis M.Ritchie)1)for(p = head; p != NULL; p = q){ q = p->next; free(p); } 2)Union
2012-08-30 15:20:59 991
原创 C语言--文件操作函数
1)fopen(filename, mode)mode: r w a r+ w+ a+在linux下加不加b都是一样的 fclose(filename) 示例:FILE *fp;if((fp = fopen("file", "r")) == NULL) { fprintf(stderr, "Error:……, %s \
2012-08-30 15:16:23 792
原创 C语言--qsort函数
C程序使用标准库函数qsort排序整数文件 #include #include #include #include #define MAX 10 int int_cmp(const void *a, const void *b){ return *(int *)a - *(int *)b;}int main(){
2012-08-30 15:11:56 614
原创 排序算法1
1)插入排序说明:最坏情况运行时间为O(n*n),原地排序(sorted in place),稳定的其内部循环紧密,对小规模输入来说是快速的void insertion_sort(int a[], int length){ int i, j, key; for(j = 1; j < length; j++) { key = a[j];
2012-08-30 15:09:25 299
原创 Entropy调研
说明:好吧,我只想吐槽一件事,这是long long ago的调研笔记了另外,在百度文库,居然找到这篇论文了http://wenku.baidu.com/view/ff466d4c767f5acfa1c7cd56.html 1.背景:以往策略:任务静态分配到结点-> 忽略任务计算需求的变化,导致计算能力的浪费改进的策略:依赖启发式任务分配的动态综合管
2012-08-30 14:57:04 692
原创 Xen--内存代码阅读小记
1) Xen代码中三个比较重要的文件夹 arch common include2)xen/arch/x86/mm.c页面引用两种计数 TOT_COUNT和TYPE_COUNT;tot_count记录一个物理页帧的所有引用,有引用的页面不会返回给空闲池(引用分为页目录,页表,可写页三种类型);type_count记录当前类型下的引用数,为0时才可转换类型
2012-08-30 14:56:16 1420 1
原创 Xen--命令配置小记
1)xen-detect 查看xen版本[root@node08 ~]# xen-detectRunning in PV context on Xen v4.2.或者[root@node08 ~]# cd /sys/hypervisor/[root@node08 hypervisor]# ls version/extra major minor
2012-08-30 14:54:58 366
原创 Linux系统--查看内存
1)cat /proc/meminfoMemTotal: 23142392 kBMemFree: 19137312 kBBuffers: 27428 kBCached: 1342860 kBSwapCached: 0 kBActive: 215396 kBIna
2012-08-30 14:50:47 499
原创 Linux系统--查看磁盘空间
1)df -hl说明: -h 以G为单位显示-l 不显示NFS挂载例如:Filesystem Size Used Avail Use% Mounted on/dev/sda1 28G 3.9G 22G 15% //dev/sda3 790G 89G 661G 12%
2012-08-30 14:50:03 453
原创 Linux系统--查看系统版本
1)lsb_release[root@node08 ~]# lsb_release -aLSB Version: :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarchDistributor ID: CentOSDescripti
2012-08-30 14:48:52 299
原创 Linux系统--程序开机自启动
Linux系统下,使程序开机自动启动的方法: 1)将执行程序脚本的命令行写入/etc/rc.d/rc.local,Linux开机加载完所有服务,会执行这个脚本。一般用户自己编写的脚本和命令是添加到这个文件中 2)程序脚本存放在/etc/init.d下然后在/etc/rc5.d下创建一个软链接SXXX,指向程序脚本S是指开机启动5是因为
2012-08-30 14:46:24 501
原创 Linux系统C语言--makefile1
make: Makefile或makefile文件make -f othernamemake --file=othername 这两个命令使用其他名字的文件make makefile写法:target: components[;rule]rule说明:target依赖于components,其生成规则定义于rule。component
2012-08-30 14:42:43 570
原创 Linux系统C语言--编译调试
1)gcc GNU Compiler Collection分为四个阶段:a)预处理Pre-Processing:gcc -E test.c -o test.ib)编译Compiling: gcc -S test.i -o test.s 汇编语言文件c)汇编Assembling: gcc -c test.s -o test.o 二
2012-08-30 14:40:33 597
原创 I/O压力测试--fio使用
FIO是测试IOPS的非常好的工具,用来对硬件进行压力测试和验证,支持13种不同的I/O引擎,包括:sync,mmap, libaio, posixaio, SG v3, splice, null, network, syslet, guasi, solarisaio 等等。 使用: fio configfile结果主要观察:iops和bw(带宽) 配置文件
2012-08-30 14:36:46 2039
原创 ioband使用
ioband dm-ioband is an I/O bandwidth controller implemented as a device-mapper driver. Several jobs using the same block device have to share the bandwidth of the device. dm-ioband gives bandwid
2012-08-30 14:33:38 467
原创 Linux系统--查看Cache
1)查看/proc/cpuinfo下的信息例如:processor : 0vendor_id : GenuineIntelcpu family : 6model : 44model name : Intel(R) Xeon(R) CPU E5620 @ 2.40GHzstepping : 2cpu MHz
2012-08-30 14:30:50 2206
原创 python进阶--性能优化1
Python写法纠正和优化: badgoodif x == None: ...if x is None: ...mapping = {5 : "5", 6 : "6"}for key, val in mapping.items(): ...for key in mapping.keys(): ...
2012-08-30 14:18:36 528
原创 python基本知识小记1
1. 数字:decimal.Decimal('1.1')是1.1,不会是1.10000000001 2. Print:print 等于 print '\n'>>> print “good!” if 8 == number else “bad!” 字典可以用变量名直接格式化输出table = {‘Jack’: 4098,}print ‘Jack: %(J
2012-08-30 14:13:31 285
转载 敏捷开发小记1
参照:http://www.agilealliance.org/The Manifesto for Agile Software Development敏捷软件开发宣言We are uncovering better ways of developing software by doing it and helping others do it.Through this
2012-08-30 10:58:36 505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人