![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
语言-C&C++&C#
文章平均质量分 87
此间的年少
三人行必有我师不积跬步无以致千里不积小流无以成江海成临渊羡鱼不若退而结网
展开
-
C标准库小计
现在C语言(C99)标准库函数的24个头文件列表如下:assert.h inttypes.h(C99) signal.h stdlib.hcomplex.h(C99) iso646.h(C95) stdarg.h string.hctype.h limits.h stdbool.h tgmath.h(C99)errno.h locale.h stddef.h time.hf转载 2013-07-18 17:22:59 · 756 阅读 · 0 评论 -
单片机教程网站
单片机基础教程网:http://www.51hei.com/mcuteach/原创 2013-07-12 15:36:38 · 1079 阅读 · 0 评论 -
C Runtime Library 的来历, API, STL, MFC, ATL关系
C Runtime Library 的来历, API, STL, MFC, ATL关系 刚接触Windows开发时,为了快速入门查了不少资料,没想到看的越多,脑袋越糊涂。因为写同一种功能的程序,找到的例程风格截然不同。拿C程序来说,有些API的名称都很长,都是没见过的变量类型而且全大写;有些跟熟悉的Linux环境C开发差不多,标准短小的C函数名。再比如某些C++程序,用的标准类也会有转载 2013-08-09 11:37:05 · 1058 阅读 · 0 评论 -
一个C语言编写的跨平台C语言编译器(开源) UCC
一个C语言编写的跨平台C语言编译器(开源)很多科班出身的搞开发的同事大都应该学过《编译原理》这门课程,或许也动手做过一些实践。这次向大家推荐一个由清华大学学生完成的C语言编译器实现 -- UCC。 这个项目目前位于sf.net网站,开放源代码,代码使用C语言编写,对于理解和实践编译原理有很大的指导意义,其完备的代码和中英文设计文档是亮点。项目主页/代码下载:http://原创 2013-08-07 18:27:35 · 9172 阅读 · 0 评论 -
C调用C++静态库的方法
Posted July 20, 2010远比想象中的简单,其实就是两点:1.为C++风格的接口做一个wrapper,利用extern “C”。2.编译选项中加上-lstdc++比如说有一个库是这样的:ClassA.h:[c]class A {private: int x;public: A(int _x); int getR转载 2013-07-31 11:46:48 · 3239 阅读 · 0 评论 -
关于C语言标准
ANSI C 标准C语言被发明出来的时候大概是20世纪70年代,应该1972年吧,当时C语言隶属于AT&T公司的贝尔电话实验室的Dennis和Brian发明的,而现在AT&T公司已经被拆的七零八落,已经不是发明C的那个如日中天的公司了。ANSI C是美国国家标准协会(ANSI)对C语言发布的标准。使用C的软件开发者被鼓励遵循ANSI C文档的要求,因为它鼓励使用跨平台的代码。编辑本段A转载 2013-07-12 11:11:46 · 896 阅读 · 0 评论 -
struct和typedef struct
分三块来讲述: 1 首先://注意在C和C++里不同 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明) 这里的Stu实际上就是转载 2013-08-21 18:00:41 · 680 阅读 · 0 评论 -
常用C++第三方库
基础类1、 Dinkumware C++ Library参考站点:http://www.dinkumware.comP.J. Plauger编写的高品质的标准库。P.J. Plauger博士是Dr. Dobb's程序设计杰出奖的获得者。其编写的库长期被Microsoft采用,并且最近Borland也取得了其OEM的license,在其C/C+ +的产品中采用Dinkumware的库。转载 2013-07-25 10:33:11 · 4149 阅读 · 0 评论 -
wireshark源码 windows下编译
经过多次尝试,终于在windows上成功编译wireshark源代码,但用的不是下面的这个步骤,不过大同小异,我的是vs2005,所以用的:http://blog.csdn.net/alexander_vc/article/details/6198836 的方法。1.2.7版的wireshark的capture_if_details_dlg_win32.c对vs2005有bug,需要下载更转载 2013-07-26 18:14:45 · 3584 阅读 · 4 评论 -
C++编码规范(1):代码注释
C++编码规范(1):代码注释C++编码规范(2):命名规范 当你阅读别人的代码时如果没有注释那会是件比较痛苦的事.一说到注释我们马上想到是通过//或/* */这样来添加一些描述信息.这只是狭义的注释.广义的注释我们可以理解为,任何有助于理解代码的信息都可以看成注释.我们可以把写代码和写文章类比下.自然语言会有词法,句法,语义这几个概念.代码中的语法和句法就相当于一个编程语言中转载 2013-07-29 10:30:27 · 834 阅读 · 0 评论 -
C++编码规范(2):命名规范
C++编码规范(1):代码注释C++编码规范(2):命名规范 如果你代码中的变量名,函数数,类名都取得很好,不仅是个有意义的词或短语,而且确切的表达了该变量或函数的功能.那读起代码来就像看文章一样,绝对是一种享受.当然理想是美好的,现实可是残酷的.很少有人能做到这样.一来嘛你英语词汇量得多,不样不容易找到那么多合适并贴切的词.二来就是有些词组合就会很长,这样不得不用些缩写,而缩转载 2013-07-29 10:31:16 · 765 阅读 · 0 评论 -
一个简单的C语言编译器
源代码:// //#if _MSC_VER > 1000#pragma once#endif // _MSC_VER > 1000#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers#include #include #include #inclu转载 2013-08-07 18:32:13 · 6349 阅读 · 0 评论 -
C语言标准
C语言标准写在前面:K&R C不用说。个人以为,我们平常说的标准C,指的是ANSI C,ISO C,C89,C90。K&R C 1978年,丹尼斯•里奇(Dennis Ritchie)和布莱恩•柯林汉(Brian Kernighan)合作出版了《C程序设计语言》的第一版。书中介绍的C语言标准也被C语言程式设计师称作“K&R C”,第二版的书中也包含了一些ANSI C的原创 2013-07-12 11:38:11 · 681 阅读 · 0 评论 -
C标准库学习资料
http://oss.org.cn/kernel-book/ccfaq/ccfaq.html原创 2013-07-18 17:34:58 · 871 阅读 · 0 评论 -
C语言编码规范
A.1 排版 1-1:程序块要采用缩进风格编写,缩进的TAB键一个. 1-2:相对独立的程序块之间、变量说明之后必须加空行. 1-3:较长的语句(>80字符)要分成多行书写,长表达式要在低优先级操作符处划分新行,操作符放在新行之首,划分出的新行要进行适当的缩进,使排版整齐,语句可读. 1-4:循环、判断等语句中若有较长的表达式或语句,则要进行适应的划分,长表达式要在低优先级操作符处转载 2013-08-02 11:09:35 · 1523 阅读 · 0 评论 -
C语言标准库--官网
本文包括大部分C标准库函数,但没有列出一些用途有限的函数以及某些可以简单的从其他函数合成的函数,也没有包含多字节和本地化函数。标准库中的各个函数、类型以及宏分别在以下标准头文件中说明:目录列表输入与输出字符类测试字符串函数数学函数实用函数诊断变长变量表非局部跳转信号处理日期与时间函数转载 2013-08-07 14:41:19 · 7922 阅读 · 0 评论 -
C语言编译器 Cilk
多线程编程技术最早由MIT开 发,是一个基于Gcc编译器的开源项目。后来开发者创建了一个创业公司,推出改进的私有版本,整合到Windows下的多种编译器中。之后它被英特尔公司 收购,整合进英特尔的编译器中。现在,它再次成为一个开源项目,成为Gcc 4.7下的一个分支。Cilk Plus允许C和C++程序员能高效利用多核处理器的并行处理能力。 官方网站:http://supe原创 2013-08-07 18:25:01 · 2116 阅读 · 0 评论 -
C语言的深入学习(1)—C编译器运行原理
我们使用文字编辑器编写完源代码后,就要调用C编译器把源代码转换成机器码。编译器处理翻译单元。一个翻译单元包含一个源代码文件。以及利用#include指令包含的所有头文件。如果此编译器单元内没有找到错误,就会产生目标文件(object file)后者包含对应的机器码。对象文件的扩展名为.o或者.obj。除此之外,编译器也可能会产生一个汇编器列表(汇编器列表会在后面介绍到)目标文件也称为模块。转载 2013-08-09 11:30:37 · 2300 阅读 · 0 评论 -
C运行库 二
任何一个C程序,它的背后都有一套庞大的代码来进行支撑,以使得该程序能够正常运行。这套代码至少包括入口函数,及其所依赖的函数所构成的函数集合。当然,它还理应包括各种标准库函数的实现。这样的一个代码集合称之为运行库(Runtime Library)。而C语言的运行库,即被称为C运行库(CRT)。如果拥有Visual Studio,可以在VC/crt/src里找到一份C语言运行库的源代码。然而,转载 2013-08-13 15:33:35 · 656 阅读 · 0 评论 -
C-Free 5 发布!
http://www.programarts.com/cfree_ch/download.htm原创 2013-11-22 11:47:10 · 1054 阅读 · 0 评论 -
C/C++变量在内存中的分布
C/C++变量在内存中的分布在笔试时经常考到,虽然简单,但也容易忘记,因此在这作个总结,以加深印象。先写一个测试程序:[cpp] view plaincopy#include #include int g_i = 100; int g_j = 200; int g_k, g_h; int main()转载 2013-10-17 23:50:43 · 722 阅读 · 0 评论 -
关于C语言中的Complex(复数类型)和imaginary(虚数类型)(
关于C语言中的Complex(复数类型)和imaginary(虚数类型) 1、C99 新增了复数类型(_Complex)和虚数类型(_Imaginary)。简单来说,C99 提供了三种复数类型:float _Complex,double _Complex,和 long double _Complex。对于 float _Complex类型的变量来说,它包含两个 float类型的值原创 2013-08-13 15:15:24 · 14552 阅读 · 0 评论 -
指针常量,常指针,指向常量的常指针
1.常量指针(常指针)int const*p特点是指针指向的数值可以改变,然而指针所保存的地址却不可以改变。2.指针常量const int*p特点是指针所保存的地址可以改变,然而指针所指向的值却不可以改变3.指向常量的常指针const int const*p特点是指针所保存的地址不可变,指针所指向的数值也不可变4.空指针顾名思义,就是保存地址为空的指针i转载 2013-07-12 10:34:43 · 974 阅读 · 1 评论 -
C++ 引用运算符
引用声明:改动声明 & 在C中为取址运,在C++ 中除了有该作用外还有一个引用类型声明 , &在C++也可义定义为一个复制进并复制出来改变原有值的变值声明本来的函数应该是 int functions (HWND hWnd) 传入为HWND 若int functions (HWND &hWnd) 传入的仍为HWND原创 2013-08-06 16:28:28 · 1881 阅读 · 0 评论 -
C++友元
1.友元函数的简单介绍1.1为什么要使用友元函数在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。在别的类中声明友元,共享自己即:允许外面的类或函数去访问类的私有变量和保护变量,从而使两个类共享同一函数。以对象为单位访问实际上具原创 2013-08-06 16:35:44 · 703 阅读 · 0 评论 -
C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有保证;(3)效率:关于人的效率已经体现在成本中了,关于代码的执行效率要相信实现标准库的大牛们的水平;(4)良好的编程风格:采用行业转载 2013-12-06 16:58:12 · 1072 阅读 · 0 评论 -
C++诞生历史
最初导致C++诞生的原因是在Bjarne博士等人试图去分析UNIX的内核的时候,这项工作开始于1979年4月,当时由于没有合适的工具能够有效的分析由于内核分布而造成的网络流量,以及怎样将内核模块化。同年10月,Bjarne博士完成了一个可以运行的预处理程序,称之为Cpre,它为C加上了类似Simula的类机制。在这个过程中,Bjarne博士开始思考是不是要开发一种新的语言,当时贝尔实验室对这个想法转载 2013-07-12 11:16:09 · 6311 阅读 · 1 评论 -
c++中STL库 简介 及 使用说明
作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传播和普及STL的基础知识,若能借此机会为STL的推广做些力所能及的事情,到也是件让人愉快的事情。 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL "什么是STL?",假如你对STL还转载 2013-07-12 19:33:00 · 699 阅读 · 0 评论 -
C++标准库
C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 形式的标准头文件【 例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。C++标准库的内容分为10类原创 2013-07-12 15:18:38 · 564 阅读 · 0 评论 -
C++代码规范
C/C++编码规范今天人们越来越明白软件设计更多地是一种工程,而不是一种个人艺术。由于大型产品的开发通常由很多的人协同作战,如果不统一编程规范,最终合到一起的程序,其可读性将较差,这不仅给代码的理解带来障碍,增加维护阶段的工作量,同时不规范的代码隐含错误的可能性也比较大。 BELL实验室的研究资料表明,软件错误中18%左右产生于概要设计阶段,15%左右产生于详细设计阶段,而编码阶段产原创 2013-07-16 18:20:35 · 1772 阅读 · 0 评论 -
C++ STL简介
一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引入C++之前该技术就已经存在了很长的一段时间。STL的代码从广义上讲分为三类:algorithm(算法)、co转载 2013-08-02 15:18:57 · 678 阅读 · 0 评论 -
虚函数及继承
1、空类,空类单继承,空类多继承的sizeof#include iostream>using namespace std;class Base1{};class Base2{};class Derived1:public Base1{};class Derived2:public Base1,public转载 2013-12-02 14:22:23 · 783 阅读 · 0 评论 -
C++开发工具
无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗杂使它的学习者望而却步转载 2013-12-06 11:31:13 · 1237 阅读 · 0 评论 -
[C++基础]019 指针和引用(int*、int&、int*&、int&*、int**)
首先我们来普及一下概念,说明一下什么是指针和引用,这里借用一下变量名作为过渡。 ■指针 ---- 指向某一块内存的变量,其本身存储的信息就是内存地址的首地址,其类型决定指向内存的大小。 比喻,超市的储物柜。我记住我放包的柜子在第一排右起第三个,这里的1-3就是一个地址,通过地址,我可以找到柜子。这里的地址就是一个指针。 ■变量 ---- 某一块内存转载 2013-07-12 10:31:02 · 688 阅读 · 0 评论 -
C++ 字符转换
#include #include #include #include int main() { int i,v; char bs[33]; char b[33]; char hs[9]; char h[9]; char s[4]; char *e;// 十进制整数转二进制串; i=1024; ltoa(i,b,2转载 2015-10-10 11:21:03 · 1602 阅读 · 0 评论 -
C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有保证;(3)效率:关于人的效率已经体现在成本中了,关于代码的执行效率要相信实现标准库的大牛们的水平;(4)良好的编程风格:采用行业转载 2013-07-12 15:20:25 · 673 阅读 · 0 评论 -
C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
代码段:代码段是用来存放可执行文件的操作指令。代码段需要防止在运行时被非法修改,所以只准许读取操作,而不允许写入(修改)操作——它是不可写的。数据段:数据段用来存放可执行文件中已初始化全局变量,换句话说就是存放程序静态分配[1]的变量和全局变量。 ++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量。数据区又分转载 2013-07-11 16:24:30 · 1795 阅读 · 1 评论 -
c++中STL库 简介 及 使用说明
作为C++标准不可缺少的一部分,STL应该是渗透在C++程序的角角落落里的。STL不是实验室里的宠儿,也不是程序员桌上的摆设,她的激动人心并非昙花一现。本教程旨在传播和普及STL的基础知识,若能借此机会为STL的推广做些力所能及的事情,到也是件让人愉快的事情。 初识STL:解答一些疑问 1.1 一个最关心的问题:什么是STL "什么是STL?",假如你对STL还转载 2013-08-08 08:56:13 · 808 阅读 · 0 评论 -
C++ 库
boost http://www.boost.org/原创 2013-08-09 11:40:21 · 818 阅读 · 0 评论 -
C11标准的泛型机制
Apple LLVM4.0已经支持了C11标准中的关键特性——泛型机制。尽管C11中的泛型机制比起C++的来要显得简陋不少,但是在做库的时候仍然十分管用。下面我们就来看一下C11标准中的泛型表达式。C11中的泛型机制由关键字_Generic引出,其语法形式为:_Generic ( assignment-expression , generic-assoc-list) g转载 2013-08-13 15:16:25 · 2652 阅读 · 0 评论