尹成的技术博客

尹成大魔王区块链与人工智能的技术分享

排序:
默认
按更新时间
按访问量

2015年,新的启程

2015年,新的启程

2015-01-28 12:32:59

阅读数:3986

评论数:0

C语言的本质(30)——C语言与汇编之ELF文件格式

ELF(Executable and Linking Format)文件格式是一个开放标准,各种UNIX系统的可执行文件都采用ELF格式,ELF是一种对象文件的格式,用于定义不同类型的对象文件(Object files)的内容是什么、以及都以怎样的格式去存放这些内容。它有三种不同的类型:1、  可...

2014-07-19 15:18:03

阅读数:4761

评论数:0

C语言的本质(29)——C语言与汇编之寄存器和寻址方式

x86的通用寄存器有eax、ebx、ecx、edx、edi、esi。这些寄存器在大多数指令中是可以任意选用的,比如movl指令可以把一个立即数传送到eax中,也可传送到ebx中。但也有一些指令规定只能用其中某些寄存器做某种用途,例如除法指令idivl要求被除数在eax寄存器中,edx寄存器必须是0...

2014-07-19 15:13:50

阅读数:2483

评论数:0

C语言的本质(27)——C语言与汇编之计算机结构

现代计算机都是基于冯·诺依曼或哈佛体系结构的,不管是嵌入式系统、个人电脑还是服务器。这种两种体系结构的主要特点是:CPU和内存是计算机的两个主要组成部分,内存中保存着数据和指令,CPU从内存中取指令执行,其中有些指令让CPU做运算,有些指令让CPU读写内存中的数据。 冯·诺依曼结构冯·诺依曼结构也...

2014-07-19 15:11:10

阅读数:3111

评论数:0

C语言的本质(28)——C语言与汇编之用汇编写一个Helloword

为了更加深入理解C语言的本质,我们需要学习一些汇编相关的知识。作为最基本的编程语言之一,汇编语言虽然应用的范围不算很广,但是非常重要。因为它能够完成许多其它语言所无法完成的功能。就拿 Linux 内核来讲,虽然绝大部分代码是用 C 语言编写的,但仍然不可避免地在某些关键地方使用了汇编代码,其中主要...

2014-07-19 15:09:00

阅读数:2569

评论数:0

C语言的本质(26)——C标准库之数值字符串转换

#include  int atoi(const char *nptr);double atof(const char *nptr); atoi把一个字符串开头可以识别成十进制整数的部分转换成int型。参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字...

2014-07-17 17:43:11

阅读数:1736

评论数:0

C语言的本质(25)——C标准库之内存管理

程序中需要动态分配一块内存时怎么办呢?我们可以定义一个缓冲区数组,但是这种方法不够灵活,C89要求定义的数组是固定长度的,而程序往往在运行时才知道要动态分配多大的内存,例如: void foo(char *str, int n){         charbuf[?];         strnc...

2014-07-17 16:25:15

阅读数:2547

评论数:0

C语言的本质(24)——C标准库之输入与输出(下)

4、读写二进制文件C语言还提供了用于整块数据的读写函数。可用来读写一组数据,如一个数组元素,一个结构变量的值等。读数据块函数调用的一般形式为: fread(buffer,size,count,fp);写数据块函数调用的一般形式为: fwrite(buffer,size,count,fp);...

2014-07-17 16:19:30

阅读数:1772

评论数:0

C语言的本质(23)——C标准库之输入与输出(上)

1.、文件的基本概念所谓“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件(头文件)等。 文件通常是驻留在外部介质(如磁盘等)上的,在使用时才调入内存中来。从不同的角度可对文件作不同的分类。...

2014-07-17 16:16:22

阅读数:2115

评论数:0

C语言的本质(21)——预处理之三:其它预处理特性及总结

C标准规定了几个特殊的宏,在不同的地方使用可以自动展开成不同的值,预编译程序对于在源程序中出现的这些串将用合适的值进行替换。这些宏有下面这些: __FILE__ 展开为当前源文件的文件名,是一个字符串__LINE__ 展开为当前代码行的行号,是一个整数__DATE__ 展开为包含当前日期的字符串_...

2014-07-17 15:39:32

阅读数:1406

评论数:1

C语言的本质(22)——C标准库之字符串操作

编译器、浏览器、Office套件等程序的主要功能都是符号处理,符号处理功能在程序中占相当大的比例,无论多复杂的符号处理都是由各种基本的字符串操作组成的,下面介绍如何用C语言的库函数做字符串初始化、取长度、拷贝、连接、比较、搜索等基本操作。 1. 初始化字符串头文件:string.h函数原型:voi...

2014-07-17 15:38:30

阅读数:2279

评论数:0

C语言的本质(19)——预处理之一:宏定义

我们在写代码时已多次使用过以“#”号开头的预处理命令。如包含命令#include,宏定义命令#define等。在源程序中这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为预处理部分。所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能,它...

2014-07-17 15:38:13

阅读数:1770

评论数:0

C语言的本质(18)——函数的可变参数

一般而言,在设计函数时会遇到许多数学和逻辑操作,是需要一些可变功能。例如,计算数字串的总和、字符串的联接或其它操作过程。实现一个函数,要求在函数中计算传入的所有参数之和,并输出到屏幕上。这个函数实现起来并不困难,问题在于这个函数的参数个数是不确定的:假设这个函数的名字是sum_n,那么程序员既可以...

2014-07-17 15:37:48

阅读数:1451

评论数:0

C语言的本质(20)——预处理之二:条件预处理和包含头文件

我们可以通过定义不同的宏来决定编译程序对哪些代码进行处理。条件编译指令将决定那些代码被编译,而哪些是不被编译的。可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件。条件编译可分为三种情况,按照不同的条件去编译不同的程序部分,因而产生不同的目标文件,这对于程序的移植和调试都非常有用。 1、 ...

2014-07-17 15:36:08

阅读数:1589

评论数:0

C语言的本质(17)——回调函数

如果函数的参数是一个函数指针,我们可以通过这个函数指针传递一个函数的地址给另外一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数(Callback Function)。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应...

2014-07-17 15:33:48

阅读数:1810

评论数:0

C语言的本质(15)——C语言的函数接口入门

C语言的本质(15)——C语言的函数接口入门

2014-07-17 15:33:28

阅读数:3222

评论数:0

C语言的本质(14)——不完全类型和复杂声明

C语言的本质(14)——不完全类型和复杂声明

2014-07-17 15:32:54

阅读数:2231

评论数:0

C语言的本质(13)——指向指针的指针

指针可以指向基本类型,也可以指向复合类型,因此一个指针变量存放的可以是另一个指针变量的地址,则称这个指针变量为指向指针的指针变量。由于指针变量直接指向变量,所以称为“单级间址”。而如果通过指向指针的指针变量来访问变量则构成“二级间址”。 int i; int *pi = &i; int *...

2014-07-17 15:32:12

阅读数:1499

评论数:0

CC++初学者编程教程(11) 配置Windows数据库服务器

1.我们新建一个虚拟机。 2. 选择默认的WorkStation10.0. 3.我们选择VS2012的镜像。 4.我们设置用户密码,跳过WindowsSever2012密钥 5.我们选择是,稍后手动激活。 6.我们选择默认虚拟机名称Windows Sever...

2014-07-07 08:57:15

阅读数:1523

评论数:0

CC++初学者编程教程(9) Windows8.1安装VS2013并捆绑QT与编程助手

我们在Windows8.1安装VS2013并捆绑QT与编程助手需要下列文件。 2. 在虚拟机中开启Windows8.1 3.然后选择VS2013的安装镜像。 4.将镜像复制到虚拟机。 5.我们装载这个镜像。 6.我们从光盘查看镜像文件夹。   ...

2014-07-05 12:57:59

阅读数:3598

评论数:0

提示
确定要删除当前文章?
取消 删除