随笔分类 - C/C++ 程序开发
1
摘要:Windows编程入门程序详解1.程序/************************************************************************ * 名 称:Windows_Frist_Code.cpp * 功 能:Windows编程入门 * 描 述:包含WinMain函数、WNDCLASS、消息循环等多种内容 windows窗口程序的流程如下:【WinMain入口】-->创建和设计窗口类 -->注册窗口类-->创建、显示和更新窗口-->消息循环-->【窗口过程函数】 * 作 者:JarvisChu * ...
阅读全文
摘要:涉及知识点:1. 冒泡排序2. 选择排序3. 不使用第三个变量,交换两个变量4. 随机数组生成5. 预定义变量/************************************************************************
* 名 Sort.c
* 功 能:顺序表
* 描 述:排序算法
* 作 者:JarvisChu
* 时 间:2012-10-22
* 修 订:无。
************************************************************************/ #include <stdio....
阅读全文
摘要:今天看Bjarne Stroustrup 的《The Design and Evolution of C++》,看到其中说85年前,他也想过把自动垃圾回收(GC)系统加入C++语言,没能实现的原因是当时的计算机性能跟不上,系统无法承受。做了好几年的C++开发,为内存问题不知头疼过多少次的我,突然想,既然当时是因为客观原因不能实现的,让我们羡慕了Java和C#开发者这么多年,现在可观条件已经满足了,为什么C++委员会不能再修改一下C++,将GC加进去呢?这对我们将是多大的福利啊
阅读全文
摘要:gcc是gnu的c编译器,gcc在执行编译工作的时候,总共需要4步:1. 预处理, 生成.i的文件 [预处理器]2. 将预处理后的文件不转换成汇编语言, 生成文件.s [编译器egcs]3. 有汇编变为目标代码 (机器代码) 生成.o的文件 [汇编器as]4. 连接目标代码, 生成可执行程序 [链接器ld]--------------------------------------------------------------------------------------------------------------------------------【常用参数】-c只激活预处理,编译,
阅读全文
摘要:1. sqlite3 安装1.1. 下载sqlite3源码 www.sqlite3.org 下载 sqlite-autoconf-3070701.tar.gz1.2. 解压 将下载的 sqlite-autoconf-3070701.tar.gz 解压,得到sqlite-autoconf-3070701 文件夹1.3. 编译源码(参照解压文件夹下的install文件) $ cd sqlite-autoconf-3070701 #进入文件夹 $ ./configure $ make $ sudo make install #注意一定要root权限1.4. 查看安装情况 在/usr/loca...
阅读全文
摘要:1. 清屏 system("clear");
阅读全文
摘要:WPF运行在CLR上的,它的代码是托管代码。C++编写的DLL代码是非托管的。在WPF中调用C++编写的DLL代码需要使用:using System.Runtime.InteropServices; [DllImport("Dll.dll", EntryPoint = "add",CallingConvention=CallingConvention.Cdecl)] public static extern int add(int a, int b);下面详细说明之。编译生成DLL文件在Visual Studio 2010中,File --> Ne
阅读全文
摘要:/************************************************************************************************ * 名 称: friend.cpp * 功 能:学习C++ Premier 的笔记之操作符重载,友元 * 描 述:1、友元函数:允许函数访问类的所有成员。 2、直接重载操作符,则其中一个操作数必然是本类 3、使用友元重载操作符,则可以任意选择操作数,注意 1 处 的区别 4、重载>> <<流操作 5、单目运算符...
阅读全文
摘要:/************************************************************************************************ * 名 称:exceptions.cpp * 功 能:学习C++ Premier 的笔记之异常处理 * 描 述:抛出自定义异常类对象 抛出内置类型对象(如int) 虽然C++支持异常,但是C++程序中还是尽量使用其他的错误处理技术(C++ Premier) * 作 者:JarvisChu * 时 间:2011-7-22 创建 ****************...
阅读全文
摘要:以下程序主要包括三个主要函数:一个最简单的可变形参函数实例;一个简单的printf功能的实例;一个打印字符串函数(辅助);其中myPrintf函数,实现了printf的部分简单功能,并没有去实现格式化输出操作(%2d %.2f 等),因为只是它一个实例而已,目的是更好理解掌握可变参数。后续有兴趣时,我会继续完善的。/******************************************************************************************************* * 名 称: main.c * 功 能:C语言可变形参 varia...
阅读全文
摘要:一直在用C++,使用cin读入double类型,今天写了点C,突然发现从键盘读入double类型出错了。代码如下:double a;
scanf("%f",&a);
printf("%f\n",a);输入的小数部分是乱码。查了一下资料,原来是我把格式化输入搞错了。 printf 使用%f 可以输出 double 和 float 类型但是 scanf 使用%f 读入 float 类型,使用 %lf 读入double类型所以正确代码应是:double a;
scanf("%lf",&a);
printf("%f\
阅读全文
摘要:/************************************************************************************************ * 名 称: main.c * 功 能:C标准库,头文件math.h学习,笔记 * 描 述:math.h中 提供的函数说明 * 作 者:JarvisChu * 时 间:2011-7-16 创建 **********************************************************************************************...
阅读全文
摘要:1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存。2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。3,因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。注意new/delete不是库函数。4,C++程序经常要
阅读全文
摘要:一、预备知识按作用域的称谓按定义位置的称谓局部变量:在函数内定义的变量<---->内部变量全局变量:函数之外定义的变量 <----> 外部变量变量分类:|------- 作用域:局部变量;全局变量|-------生存周期:动态变量;静态变量二、相同点(三种作用)C语言中,static关键字有如下三种作用。这三种作用在C++中也完全适用。1. 声明静态局部变量理解:将一个局部变量的生存周期设定为整个应用程序的生存周期。 但是,这并不影响着它的作用域仍为局部区域。案例:在TestStaticLocalVariable()函数中,a为局部变量,又被声明成了static类型。所
阅读全文
摘要:目录1. 后缀名... 12. include 预处理指示符... 13. 条件指示符 #ifndef #indef. 24. 编译器自动定义预处理名字... 25. assert. 26. 标准错误... 37. 动态内存... 38. 内联函数 inline. 39. 引用与指针... 410. 异常处理... 511. 命名空间Namespace. 512. 常量... 613. C++关键字... 614. 变量初始化... 715. \0的理解... 816. const 指针的理解... 817. bool类型... 818. enum类型... 819. 数组... 920. .
阅读全文
摘要:sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。在这个程序中,将两个工程添加到一个工作区。要链接一个ws2_32.lib的库文件。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一个IP地址和一个端口上(bind());3:将套接字设置为监听模式等待连接请求(listen());4:请求到来后,接受连接请求,返回一个新的对应于此次连接的套接字(accept());5:用返回的套接字和客户端
阅读全文
摘要:1. 将一串十六进制数值,保存到字符数组中,然后以16进制显示。 unsigned char buf[5] ="\x8B\x22\x11\x12"; //结尾\0 CString str; for(int i=0;i<4;i++){ CString s; s.Format("%x ",buf[i]); str += s; } AfxMessageBox(str); 输出的结果为:8B 22 11 12 2. 如果第一句,改为char buf[5] ="\x8B\x22\x11\x12"; //结尾\0 输出结果为ffffff8B
阅读全文
摘要:1. bool 类型是C++的一个标准类型 我们常会遇到BOOL,那么BOOL与bool有什么区别呢? BOOL类型,通常是程序员自己或者看库文件模拟出来的。模拟的方法可以有以下两种:(1)typedeftypedef int BOOL;
#define TRUE 1
#define FALSE 0这种BOOL其实就是int类型,只是方便使用和记忆而已。(2)enumtypedef enum{true,false} BOOL ;2. 习惯使用bool类型,取代BOOL(1)bool类型是C++的标准类型,使用起来更安全可靠。(2)bool类型一般为1个字节(sizeof(bool)可知),..
阅读全文
摘要:/************************************************************************************************ * 名 称:main.cpp * 功 能:函数模版与类模版 * 描 述:无 * 作 者:JarvisChu * 时 间:2011-6-30 *************************************************************************************************/#include <iostream>using nam
阅读全文
摘要:创建1. 新建工程 如:名为dll12. 添加C++源文件 名为:dll1.cpp 编写函数 int add(int a,int b){ return a+b;}3. 添加def文件 导出函数,防止名字改编 LIBRARY dll1EXPORTSadd4. 添加.h文件 供应用程序使用_declspec(dllimport) int add(int a,int b);使用以隐式链接为例1. 添加引入库文件(lib文件) 在 工程-->设置-->连接-->对象/库模块 中填入引入库文件名 dll1.lib2. 添加头文件 在使用dll文件中函数的地方,#include<d
阅读全文
1

浙公网安备 33010602011771号