Linux不熟悉的命令 man ls 就能查看ls相关的用法
gcc编译过程:
在使用GCC编译程序时,其编译过程可以分为4个阶段:预处理(Pre-Processing) -> 编译(Compling) -> 汇编(Assembling) -> 连接(Linking) .
grep命令:
grep [-acinv] [--color=auto] '搜寻字符串' filename
将/etc/passwd,有出现 root 的行取出来
grep root /etc/passwd 或者 cat /etc/passwd | grep root
Linux的环境变量的设置:修改/etc/profile文件 export指令也行
GDB调试:
进入GDB调试: gdb test(可执行文件)
设置断点: b 8(行号)
查看断点情况 info b
运行代码 r
查看变量值 p N(N变量名)
单步运行 n
程序继续执行 c
退出 Q
查看堆栈 info static
查看寄存器 info reg
makefile :写个简单例子
obj-m :=hello.o
KERNELDIR :=/home/ZP1015/Desktop/linux-2.6.32.2
all:
make -C $(KERNELDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-linux-
clean:
rm -f *.o *.ko *.mod.o *.mod.c *.symvers modul*
int a=05 代表八进制
进程同步的方式:
Linux 下常见的同步方法有SysVIPC 的 sem(信号量)、file locking / record locking(通过 fcntl 设定的文件锁、记录锁)、futex(基于共享内存的快速用户态互斥锁)
另外还有一个不能不提的,就是信号。
递增数列的判定:
void Judge(int *a, int n)
{
if (n == 1){ printf("递增"); }
if (n != 1)
{
if (a[n-1] >= a[n - 2]){ Judge(a, n - 1); }
if (a[n-1] < a[n - 2]){ printf("非递增"); }
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int a[] = {1,2,3,3,4,5};
int len = sizeof(a) / sizeof(a[0]);
Judge(a, len);
getchar();
return 0;
}