C/C++预处理 ISO/ANSI C标准译文与注解
http://blog.csdn.net/huyansoft/archive/2008/05/26/2484297.aspx
<<ISO/ANSI C标准译文与注解 C/C++预处理部分>>
内容简介:本文档完整翻译了C标准(99版)中预处理和相关章节的内容,并在许多必要之处附加了注解和程序示例,以帮助读者理解标准原文,同时制作了详细的中英文索引备查。
译者:胡彦
出处:http://blog.csdn.net/huyansoft
如果转载,请保留译者和出处信息,谢谢!
本文同时制作了HTML格式的文档,可在http://download.csdn.net/source/476473下载。HTML文档的好处在于,其中制作了大量的链接,阅读时可以随时点击链接方便地跳转、前进和后退。
原先发布的CHM格式的文档(地址是http://download.csdn.net/source/468852),由于下载后无法打开,请不要再下载了。
郑重声明:
本文档之英文原版来自互联网,仅供个人学习﹑私下交流之用,版权仍归ISO/IEC所有,任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除,如果需要,请向ISO购买英文原版.
-------------------------------- ......
C/C++预处理 ISO/ANSI C标准译文与注解
http://blog.csdn.net/huyansoft/archive/2008/05/26/2484297.aspx
<<ISO/ANSI C标准译文与注解 C/C++预处理部分>>
内容简介:本文档完整翻译了C标准(99版)中预处理和相关章节的内容,并在许多必要之处附加了注解和程序示例,以帮助读者理解标准原文,同时制作了详细的中英文索引备查。
译者:胡彦
出处:http://blog.csdn.net/huyansoft
如果转载,请保留译者和出处信息,谢谢!
本文同时制作了HTML格式的文档,可在http://download.csdn.net/source/476473下载。HTML文档的好处在于,其中制作了大量的链接,阅读时可以随时点击链接方便地跳转、前进和后退。
原先发布的CHM格式的文档(地址是http://download.csdn.net/source/468852),由于下载后无法打开,请不要再下载了。
郑重声明:
本文档之英文原版来自互联网,仅供个人学习﹑私下交流之用,版权仍归ISO/IEC所有,任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除,如果需要,请向ISO购买英文原版.
-------------------------------- ......
<<ISO/ANSI C标准译文与注解 C/C++预处理部分>>
内容简介:本文档完整翻译了C标准(99版)中预处理和相关章节的内容,并在许多必要之处附加了注解和程序示例,以帮助读者理解标准原文,同时制作了详细的中英文索引备查。
译者:胡彦
出处:http://blog.csdn.net/huyansoft
如果转载,请保留译者和出处信息,谢谢!
本文同时制作了HTML格式的文档,可在http://download.csdn.net/source/476473下载。HTML文档的好处在于,其中制作了大量的链接,阅读时可以随时点击链接方便地跳转、前进和后退。
原先发布的CHM格式的文档(地址是http://download.csdn.net/source/468852),由于下载后无法打开,请不要再下载了。
郑重声明:
本文档之英文原版来自互联网,仅供个人学习﹑私下交流之用,版权仍归ISO/IEC所有,任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除,如果需要,请向ISO购买英文原版.
-----------------------------------------------------------------------------------------------------------------
前言
& ......
<<ISO/ANSI C标准译文与注解 C/C++预处理部分>>
内容简介:本文档完整翻译了C标准(99版)中预处理和相关章节的内容,并在许多必要之处附加了注解和程序示例,以帮助读者理解标准原文,同时制作了详细的中英文索引备查。
译者:胡彦
出处:http://blog.csdn.net/huyansoft
如果转载,请保留译者和出处信息,谢谢!
本文同时制作了HTML格式的文档,可在http://download.csdn.net/source/476473下载。HTML文档的好处在于,其中制作了大量的链接,阅读时可以随时点击链接方便地跳转、前进和后退。
原先发布的CHM格式的文档(地址是http://download.csdn.net/source/468852),由于下载后无法打开,请不要再下载了。
郑重声明:
本文档之英文原版来自互联网,仅供个人学习﹑私下交流之用,版权仍归ISO/IEC所有,任何组织和个人不得公开传播或用于任何商业盈利用途,否则一切后果由该组织或个人承担!制作者不承担任何法律及连带责任!请自觉于下载后24小时内删除,如果需要,请向ISO购买英文原版.
-----------------------------------------------------------------------------------------------------------------
前言
& ......
自己写的C/C++编译器Doctors[软件+文档]
http://blog.csdn.net/huyansoft/archive/2009/08/20/4464772.aspx
更新版本1.0.1:该版本解决了之前1.0.0版本中找不到链接库libc.lib的问题,以及IDE下点击Project菜单出现的BUG。下载地址:http://download.csdn.net/source/1597132
Doctors编译器内部实现
For version 1.0.1
出处:http://blog.csdn.net/huyansoft
作者:胡彦
Copyright(c) 2009,All Rights Reserved
简介:
Doctors是标准C++语言子集的编译器,它可以将C++源程序编译链接成Win32平台上可执行的EXE文件。代码采用OOP语言完全手写而成,提供了IDE界面和命令行二种使用方式,其设计初衷是为程序提供更多的诊断功能。
本文通过其部分源码,介绍了其设计方法、实现思路、和作者的一些体会。
本文档可作为编译课程的课外读物,读者可从中了解一个实际编译器的内部构造,补充教材上缺乏的实践知识,加深对抽象理论的理解。对实现类似编译器、解释器的读者也具有直接的参考价值。
----------------------------------------------------------------------------------------------------------------------
目录
第一节 初衷和目标
&n ......
自己写的C/C++编译器Doctors[软件+文档]
http://blog.csdn.net/huyansoft/archive/2009/08/20/4464772.aspx
更新版本1.0.1:该版本解决了之前1.0.0版本中找不到链接库libc.lib的问题,以及IDE下点击Project菜单出现的BUG。下载地址:http://download.csdn.net/source/1597132
Doctors编译器内部实现
For version 1.0.1
出处:http://blog.csdn.net/huyansoft
作者:胡彦
Copyright(c) 2009,All Rights Reserved
简介:
Doctors是标准C++语言子集的编译器,它可以将C++源程序编译链接成Win32平台上可执行的EXE文件。代码采用OOP语言完全手写而成,提供了IDE界面和命令行二种使用方式,其设计初衷是为程序提供更多的诊断功能。
本文通过其部分源码,介绍了其设计方法、实现思路、和作者的一些体会。
本文档可作为编译课程的课外读物,读者可从中了解一个实际编译器的内部构造,补充教材上缺乏的实践知识,加深对抽象理论的理解。对实现类似编译器、解释器的读者也具有直接的参考价值。
----------------------------------------------------------------------------------------------------------------------
目录
第一节 初衷和目标
&n ......
更新版本1.0.1:该版本解决了之前1.0.0版本中找不到链接库libc.lib的问题,以及IDE下点击Project菜单出现的BUG。下载地址:http://download.csdn.net/source/1597132
Doctors编译器内部实现
For version 1.0.1
出处:http://blog.csdn.net/huyansoft
作者:胡彦
Copyright(c) 2009,All Rights Reserved
简介:
Doctors是标准C++语言子集的编译器,它可以将C++源程序编译链接成Win32平台上可执行的EXE文件。代码采用OOP语言完全手写而成,提供了IDE界面和命令行二种使用方式,其设计初衷是为程序提供更多的诊断功能。
本文通过其部分源码,介绍了其设计方法、实现思路、和作者的一些体会。
本文档可作为编译课程的课外读物,读者可从中了解一个实际编译器的内部构造,补充教材上缺乏的实践知识,加深对抽象理论的理解。对实现类似编译器、解释器的读者也具有直接的参考价值。
----------------------------------------------------------------------------------------------------------------------
目录
第一节 初衷和目标
一 排错工具
&nbs ......
更新版本1.0.1:该版本解决了之前1.0.0版本中找不到链接库libc.lib的问题,以及IDE下点击Project菜单出现的BUG。下载地址:http://download.csdn.net/source/1597132
Doctors编译器内部实现
For version 1.0.1
出处:http://blog.csdn.net/huyansoft
作者:胡彦
Copyright(c) 2009,All Rights Reserved
简介:
Doctors是标准C++语言子集的编译器,它可以将C++源程序编译链接成Win32平台上可执行的EXE文件。代码采用OOP语言完全手写而成,提供了IDE界面和命令行二种使用方式,其设计初衷是为程序提供更多的诊断功能。
本文通过其部分源码,介绍了其设计方法、实现思路、和作者的一些体会。
本文档可作为编译课程的课外读物,读者可从中了解一个实际编译器的内部构造,补充教材上缺乏的实践知识,加深对抽象理论的理解。对实现类似编译器、解释器的读者也具有直接的参考价值。
----------------------------------------------------------------------------------------------------------------------
目录
第一节 初衷和目标
一 排错工具
&nbs ......
转自:http://dev.csdn.net/article/29/29329.shtm
关于逻辑移位、算术移位可参见 迅雷深大笔试题部分。的一道题。
以前看到C++标准上说,移位运算符(<<、>>)出界时的行为并不确定:
The behavior is undefined if the right operand is negative, or greater than or equal to the length in bits of the promoted left operand.
我当时也没有深究过这个问题。前几天有个网友来信问起这件事,我才发现,这和Intel CPU的移位运算有关。下面是那位网友的来信以及我的回复:
您好!运算符<<作为位操作中的高效的操作,但我遇到一个问题:下面在VC环境下发现一个很不明白的地方,下面标注。
#include <stdio.h>
void main()
{
unsigned int i,j;
i=35;
//为什么下面两个左移操作结果不一样?
j=1<<i; // j为8
j=1<<35; // j为0
}
不知是哪里没有理解对。
原因是这样的:i=35;j=1<<i;这两句在VC没有做优化的情况下,将被编译成下面的机器指令:
mov dword ptr [i],23h
mov eax,1
mov ecx,dword ptr [i ......
转自:http://dev.csdn.net/article/29/29329.shtm
关于逻辑移位、算术移位可参见 迅雷深大笔试题部分。的一道题。
以前看到C++标准上说,移位运算符(<<、>>)出界时的行为并不确定:
The behavior is undefined if the right operand is negative, or greater than or equal to the length in bits of the promoted left operand.
我当时也没有深究过这个问题。前几天有个网友来信问起这件事,我才发现,这和Intel CPU的移位运算有关。下面是那位网友的来信以及我的回复:
您好!运算符<<作为位操作中的高效的操作,但我遇到一个问题:下面在VC环境下发现一个很不明白的地方,下面标注。
#include <stdio.h>
void main()
{
unsigned int i,j;
i=35;
//为什么下面两个左移操作结果不一样?
j=1<<i; // j为8
j=1<<35; // j为0
}
不知是哪里没有理解对。
原因是这样的:i=35;j=1<<i;这两句在VC没有做优化的情况下,将被编译成下面的机器指令:
mov dword ptr [i],23h
mov eax,1
mov ecx,dword ptr [i ......
C/C++基本知识(转载)
0
推荐本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次。此外,还有一些面试题考查面试者敏捷的思维能力。
分析这些面试题,本身包含很强的趣味性;而作为一名研发人员,通过对这些面试题的深入剖析则可进一步增强自身的内功。
2.找错题
试题1:
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
试题2:
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
{
str1[i] = 'a';
}
strcpy( string, str1 );
}
试题3:
void test3(char* str1)
{
char st ......
C/C++基本知识(转载)
0
推荐本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。
许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很可能只能拿到10分中的2分。读者可从本文看到strcpy函数从2分到10分解答的例子,看看自己属于什么样的层次。此外,还有一些面试题考查面试者敏捷的思维能力。
分析这些面试题,本身包含很强的趣味性;而作为一名研发人员,通过对这些面试题的深入剖析则可进一步增强自身的内功。
2.找错题
试题1:
void test1()
{
char string[10];
char* str1 = "0123456789";
strcpy( string, str1 );
}
试题2:
void test2()
{
char string[10], str1[10];
int i;
for(i=0; i<10; i++)
{
str1[i] = 'a';
}
strcpy( string, str1 );
}
试题3:
void test3(char* str1)
{
char st ......