目录: 第1章 绪论 1.1 什么是数据结构 1.2 数据结构的发展简史及其在计算机科学中的地位 1.3 算法 1.3.1 算法及其性质 1.3.2 基本算法 1.3.3 算法的描述 1.4 算法分析 1.4.1 时间复杂度 1.4.2 空间复杂度 1.4.3 其他方面 习题 第2章 线...
时间 : 2020-11-21| 栏目 : linux编程| 浏览 : 99 次| 暂无评论 标签:数据结构教程-学习笔记 | [阅读全文] |
参照下面的步骤来操作: (1)编译时,加上 -g 选项。 (2)默认,Linux发行版禁止生成core文件,所以,需要手工开启:ulimit -c unlimited ,表示不限制生成的core文件的大小。 (3)运行你的程序,重现Segmentation Fault错误。 (4)这时,程序所在目录生成了一个文件名...
时间 : 2020-10-30| 栏目 : linux编程| 浏览 : 325 次| 暂无评论 标签:Linux下如何查看和调试core文件 | [阅读全文] |
在研究zabbix的 监控项类型时,看到snmptrap方式,在了解功能实现过程中,顺便找了个有关正则的实例程序跑了一下,做个笔记。 #define PCRE_STATIC // 静态库编译选项 #include <stdio.h> #include <string.h> ...
时间 : 2020-09-27| 栏目 : linux编程| 浏览 : 215 次| 暂无评论 标签:pcre_exec函数实例 | [阅读全文] |
看linux3.0 network代码,发现TCP initcwd(初始拥塞窗口)默认已经调为10,同时,TCP rcvwnd初始接收窗口也已调为10。 tcp initcwd初始化函数---函数tcp_init_cwnd(),宏TCP_INIT_CWND &nb...
时间 : 2017-11-21| 栏目 : linux编程| 浏览 : 2,992 次| 暂无评论 标签:tcp协议栈优化1-增加TCP初始拥塞窗口 | [阅读全文] |
Linux 字符设备驱动模块开发学习案例,源于互联网,在读懂的基础上,调试运行,输出结果。 [root@nagios linux_kernel]# vim hello.c /* * ====================================================== ...
时间 : 2017-09-24| 栏目 : linux编程| 浏览 : 1,504 次| 评论 : 2 标签:Linux 字符设备驱动模块开发 | [阅读全文] |
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void){ printf("Current process UID : %ld\n",(long)getuid()); &...
时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 2,565 次| 评论 : 标签:显示当前进程的UID与EUID | [阅读全文] |
#include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void){ printf("Current Process ID :%ld\n",(long)getpid()); &nb...
时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 2,025 次| 暂无评论 标签:北京开源人linux运维实战, 输出当前进程的进程号和父进程号 | [阅读全文] |
#include <stdio.h> #include <stdlib.h> #include <string.h> extern int etext,edata,end; char *g_pstr="Global string\n"; char g_buffer[2...
时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 2,411 次| 评论 : 标签:不同类型变量在进程的代码段, 数据段和堆栈段地址信息 | [阅读全文] |
#include<stdio.h> #include<malloc.h> #include<unistd.h> int bss_var; int data_var0=1; int main(int argc,char **argv) { printf...
时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 2,426 次| 评论 : 2 标签:北京开源人linux运维开发培训中心, 进程各个不同数据段的位置示例 | [阅读全文] |
GCC最开始的意思是 GNU C Compiler。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言,它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言等等。因此,GCC 不再单只是 G...
时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 2,481 次| 评论 : 3 标签:linux环境GCC编译器使用精讲, 北京开源人linux培训 | [阅读全文] |
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 ...
时间 : 2016-08-26| 栏目 : linux编程| 浏览 : 1,268 次| 暂无评论 标签:进程与线程的区别精讲 | [阅读全文] |
1.字符指针可以指向一个字符串。 我们可以用字符串常量对字符指针进行初始化。例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。 这里要注意字符指针与字符数组之...
时间 : 2016-08-17| 栏目 : linux编程| 浏览 : 1,417 次| 暂无评论 标签:字符数组与字符指针精讲 | [阅读全文] |
explode (PHP 4, PHP 5) explode — 使用一个字符串分割另一个字符串 说明 array explode ( string $separator , string $s...
时间 : 2016-07-22| 栏目 : linux编程| 浏览 : 1,365 次| 暂无评论 标签:PHP explode 使用一个字符串分割另一个字符串 | [阅读全文] |
我们把函数中定义的变量称为局部变量(Local Variable),由于形参相当于函数中定义的变量,所以形参也相当于局部变量。在这里“局部”有两个含义: 1、某个函数中定义的变量不能被另一个函数使用。例如print_time中的hour和minute在 main 函数中没有定义,不能使用,同样 main 函数中的局部变量也不能被 pr...
下面我们定义一个带参数的函数,我们需要在函数定义中指明参数的个数和每个参数的类型,定义参数就像定义变量一样,需要为每个参数指明类型,并起 一个符合标识符命名规则的名字。例如: 例 3.4. 带参数的自定义函数 #include <stdio.h> void print_time(int hour, ...
1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力 下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链 ...
时间 : 2016-04-24| 栏目 : linux编程| 浏览 : 1,128 次| 暂无评论 标签:北京开源人, 最值得阅读学习的 10 个 C 语言开源项目代码 | [阅读全文] |
第一、foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法。 ? 1 2 ...
时间 : 2016-04-15| 栏目 : linux编程| 浏览 : 1,497 次| 暂无评论 标签:PHP遍历数组的方法汇总 | [阅读全文] |
目前为止我们都在用现有的系统函数,但我们也可以定义自己的函数来用,事实上我们已经这么做了:我们定义了main这个函数。main函数的特殊之处 在于执行程序时它自动被系统调用,系统就认准了“main”这个名字,除了名字特殊之外,main 函数和别的函数没有区别。通过main函数的定义我们已...
字符型常量或变量也可以参与运算,例如: printf("%c\n", 'a'+1); 执行结果是b。 我们在第 1.1 节 “程序和编程语言”讲过,计算机之所以能处理符号,是因为符号在计算机内部也用数字来表示,每个字符在计算机内部都用一个整数来表示,称为字符编码(Character Encoding),目前大部分平台通用的是ASCII...