Sublime Text 3 for Mac 使用心得

本文是使用和学习Sublime Text 3 for Mac过程中的体会与心得,欢迎补充。

安装Package Control

安装过程: 使用快捷键 control + ` 或者菜单栏选择View > Show Console

安装Package Control参考官方页面.

Sublime Text3在控制台输入

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf =......

浅谈Copy On Write技术

最近在啃APUE,看的有点云里雾里,结合具体实际例子整理对写时复制技术的理解,以免遗忘,如有错误欢迎反馈,文章不定时更新内容。

COW介绍

fork创建的子进程与父进程共享内存空间。fork()之后,kernel把父进程中所有的内存页的权限都设为read-only,然后子进程的地址空间指向父进程。当父子进程都只读内存时,相安无事。当其中某个进程写内存时,CPU硬件检测到内存页是read-only的,于是触发页异常中断(page-fault),陷入kernel的一个中断例程。中断例程中,kernel就会把触发的异常的页复制一份,于是父子进程各自持有独立的一份。

虽然最开始接触COW......

C语言main函数argc argv介绍

在刚开始学习C语言时,你一定对main函数的形式有点迷惑,我第一次看到这种形式是在国外那本被誉为C语言圣经的《C语言程序设计》。

原形如下:

#include <stdio.h>

int main(int argc, char ** argv)

{

return 0;

}

如果你最开始是在VC6.0这种带有界面GUI的编译器中写代码的话,可能理解起来稍有难度,当然你在VC6.0编译之后会生成一个exe文件,在命令行执行的话可以看到argc和argv的作用.

这两个参数的作用: argc 是指命令行输入参数的个数(以空白符分隔) ,argv存储了所有的命令行参数 .

......

snprintf函数

snprintf

int snprintf ( char * s, size_t n, const char * format, ... );

Write formatted output to sized buffer

Composes a string with the same text that would be printed if format was used on printf, but instead of being printed, the content is stored as a C string in the buffer pointed by s (taking......

C语言内存布局

写这篇博客的初衷是我再整理图书的时候翻到一本介绍Linux的书上有介绍size命令.

size命令的输出不包括stack和heap的部分。只包括文本段(text), 代码段(data),未初始化数据段(bss)三部分。

示例:

vi hello.c

#include<stdio.h>

int main()

{

return 0;

}

wq保存之后,输入gcc -o a.out hello.c

[root@centos-linux ~]# size a.out

text data bss dec hex filename

1129......

GDB调试基本使用方法

文章转载自coolshell.cn,对相关内容根据自己理解有改动,原文请访问作者博客.

GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长,尺有所短”就是这个道......

crash工具总结

1、将/etc/yum.repos.d/centos-*.repo移到别处,新建一个 centos.repo文件

2、里面内容填写如下:

[base]]

name=ftp-server

baseurl=ftp://172.17.62.160/pub/centos6.6

enable=1

gpgcheck=1

gpgkey=ftp://172.17.62.160/pub/centos6.6/RPM-GPG-KEY-CentOS-6

保存文件退出

172.17.62.160是公司内部yum 源,在配置了172.17网段的虚拟机上可以方便安装.若在有外网权限的linux上,无需修改上......

C语言实现进度条功能

今天整理文件发现一个隐藏在硬盘角落里的一段神秘代码,运行之后发现这是一断让我打开眼界的程序。

#include <stdio.h>

#include <unistd.h>

int main()

{

int i;

for(i=0;i<=100;i+=10)

{

printf("Percent completed:%3d%%\r",i);

sleep(1);

fflush(stdout);

}

}

我们先在终端中运行该程序:

gcc -o func func.c

./func

程序会在同一行文件中打印 Percent comple......

Linux程序设计Chapter10

#include <stdio.h>

#include <stdlib.h>

int main()

{

#ifdef DEBUG

printf("Compiled: " __DATE__ " at " __TIME__ "\n");

printf("This is line %d of file %s\n", __LINE__, __FILE__);

#endif

printf("hello world\n");

exit(0);

}

将代码保存为cinfo.c,......

Linux软连接与硬连接

1.Linux链接概念

Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。

命令格式:

ln -s source dist # 建立软连接

ln source dist # 建立硬连接

【硬连接】

硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连接就是硬连接。硬连接的作用是允许一个文件......