开源人linux系统运维培训中心

Linux 字符设备驱动模块开发

Linux 字符设备驱动模块开发学习案例,源于互联网,在读懂的基础上,调试运行,输出结果。 [root@nagios linux_kernel]# vim hello.c /*  * ====================================================== ...

       时间 : 2017-09-24| 栏目 : linux编程| 浏览 : 40 次| 评论 : 标签: [阅读全文]

    显示当前进程的UID与EUID

    #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编程| 浏览 : 539 次| 评论 : 标签: [阅读全文]

      输出当前进程的进程号和父进程号

      #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void){  printf("Current Process ID :%ld\n",(long)getpid()); &nb...

        不同类型变量在进程的代码段...

        #include <stdio.h> #include <stdlib.h> #include <string.h> extern int etext,edata,end; char *g_pstr="Global string\n"; char g_buffer[2...

          进程各个不同数据段的位置示例

          #include<stdio.h> #include<malloc.h> #include<unistd.h> int bss_var; int data_var0=1; int main(int argc,char **argv) {   printf...

            linux环境GCC编译器使用精讲

            GCC最开始的意思是 GNU C Compiler。经过了这么多年的发展,GCC 已经不仅仅能支持 C 语言,它现在还支持 Ada 语言、C++ 语言、Java 语言、Objective C 语言、Pascal 语言、COBOL语言,以及支持函数式编程和逻辑编程的 Mercury 语言等等。因此,GCC 不再单只是 G...

                 时间 : 2016-10-09| 栏目 : linux编程| 浏览 : 704 次| 评论 : 3 标签:, [阅读全文]

              进程与线程的区别精讲

              进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。 最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。 1. 计算机的核心是CPU,它承担了所有的计算任务。它就像一座工厂,时刻在运行。 ...

                   时间 : 2016-08-26| 栏目 : linux编程| 浏览 : 421 次| 暂无评论 标签: [阅读全文]

                字符数组与字符指针精讲

                1.字符指针可以指向一个字符串。 我们可以用字符串常量对字符指针进行初始化。例如,有说明语句: char *str = "This is a string."; 是对字符指针进行初始化。此时,字符指针指向的是一个字符串常量的首地址,即指向字符串的首地址。 这里要注意字符指针与字符数组之...

                     时间 : 2016-08-17| 栏目 : linux编程| 浏览 : 444 次| 暂无评论 标签: [阅读全文]

                  PHP explode 使用一个字符串分割另一个字符串

                  explode (PHP 4, PHP 5) explode — 使用一个字符串分割另一个字符串 说明 array explode ( string $separator , string $s...

                       时间 : 2016-07-22| 栏目 : linux编程| 浏览 : 417 次| 暂无评论 标签: [阅读全文]

                    3.4. 局部变量与全局变量

                    我们把函数中定义的变量称为局部变量(Local Variable),由于形参相当于函数中定义的变量,所以形参也相当于局部变量。在这里“局部”有两个含义: 1、某个函数中定义的变量不能被另一个函数使用。例如print_time中的hour和minute在 main 函数中没有定义,不能使用,同样 main 函数中的局部变量也不能被 pr...

                         时间 : 2016-05-04| 栏目 : linux编程| 浏览 : 427 次| 暂无评论 标签: [阅读全文]

                      3.3. 形参和实参

                      下面我们定义一个带参数的函数,我们需要在函数定义中指明参数的个数和每个参数的类型,定义参数就像定义变量一样,需要为每个参数指明类型,并起 一个符合标识符命名规则的名字。例如: 例 3.4. 带参数的自定义函数 #include <stdio.h> void print_time(int hour, ...

                           时间 : 2016-05-04| 栏目 : linux编程| 浏览 : 397 次| 暂无评论 标签: [阅读全文]

                        最值得阅读学习的 10 个 C 语言开源项目代码

                        1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力 下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链 ...

                          PHP遍历数组的方法汇总

                          第一、foreach() foreach()是一个用来遍历数组中数据的最简单有效的方法。 ? 1 2 ...

                               时间 : 2016-04-15| 栏目 : linux编程| 浏览 : 466 次| 暂无评论 标签: [阅读全文]

                            3.2. 自定义函数

                                 目前为止我们都在用现有的系统函数,但我们也可以定义自己的函数来用,事实上我们已经这么做了:我们定义了main这个函数。main函数的特殊之处 在于执行程序时它自动被系统调用,系统就认准了“main”这个名字,除了名字特殊之外,main 函数和别的函数没有区别。通过main函数的定义我们已...

                                 时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 440 次| 暂无评论 标签: [阅读全文]

                              3.1. 数学函数

                                    在数学中我们用过 sin 和 ln 这样的函数,例如 sin(π/2)=1,ln1=0 等等,在C 语言中也可以使用这些函数: 例 3.1. 在 C 语言中使用数学函数 #include <math.h> #include <stdio.h&g...

                                   时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 398 次| 暂无评论 标签:, [阅读全文]

                                第3 章 简单函数

                                目录 3.1. 数学函数 3.2. 自定义函数 3.3. 形参和实参 3.4. 局部变量与全局变量...

                                     时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 379 次| 暂无评论 标签: [阅读全文]

                                  2.6. 字符类型与字符编码

                                  字符型常量或变量也可以参与运算,例如: printf("%c\n", 'a'+1); 执行结果是b。 我们在第 1.1 节 “程序和编程语言”讲过,计算机之所以能处理符号,是因为符号在计算机内部也用数字来表示,每个字符在计算机内部都用一个整数来表示,称为字符编码(Character Encoding),目前大部分平台通用的是ASCII...

                                       时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 377 次| 暂无评论 标签: [阅读全文]

                                    2.5. 表达式

                                           常量和变量之间可以做加减乘除运算,例如1+1、hour-1、hour * 60 + minute、minute/60等。这里的+-*/称为运算符(Operator),而参与运算的变量和常量称为操作数(Operand),上面四个由运算符和操作数所组成的算式称为表...

                                         时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 392 次| 暂无评论 标签:, [阅读全文]

                                      2.4. 赋值

                                             定义了变量之后,我们要把值存到它们的存储空间里,可以用赋值(Assignment)语句实现: char firstletter; int hour, minute; firstletter = 'a'; /* give firstletter the v...

                                           时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 494 次| 评论 : 标签:, [阅读全文]

                                        2.3. 变量

                                              变量(Variable)是编程语言中最重要的概念之一,变量是计算机存储器中的一块命名的空间,可以在里面存储一个值(Value),存储的值是可以随时变的,比如这次存个字符'a'下次存个字符'b',正因为变量的值可以随时变所以才叫变量。 常量有不同的类型,因此变量也有不同的类型,变...

                                             时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 405 次| 暂无评论 标签: [阅读全文]

                                          2.2. 常量

                                                常量(Constant)是程序中最基本的元素,有字符常量(Character Constant)、数字常量和枚举常量。枚举常量以后再介绍,现在我们看看如何 使用字符常量和数字常量: printf("character: %c\ninteger: %d\nfloating po...

                                               时间 : 2016-04-13| 栏目 : linux编程| 浏览 : 369 次| 暂无评论 标签: [阅读全文]

                                            内核开发人员Jens Axboe专访

                                            ens Axboe has been involved with Linux since 1993. 30 years old, he lives in Copenhagen, Denmark, and works as a Linux Kernel developer for Oracle. His block layer...

                                                 时间 : 2016-04-06| 栏目 : linux编程| 浏览 : 346 次| 暂无评论 标签: [阅读全文]

                                              2.1. 继续Hello World

                                              在第 1.4 节 “第一个程序”中,读者应该已经尝试对 Hello world 程序做各 种改动看编译运行结果,其中有些改动会导致编译出错,有些改动会影响程序 的输出,有些改动则不影响程序的输出,下面我们总结一下。首先,注释可以 跨行,也可以穿插在程序之中,看下面的例子。 例 2.1. 带更多注释的 Hello World #...

                                                   时间 : 2016-03-30| 栏目 : linux编程| 浏览 : 412 次| 暂无评论 标签: [阅读全文]