Welcome 微信登录

首页 / 软件开发 / C++

C++的可移植性和跨平台开发[2]:语法

C++的可移植性和跨平台开发[2]:语法

C++的可移植性和跨平台开发[2]:语法2011-04-14编程随想目前还有相当一部分开发人员在使用老式编译器干活,这些老式编译器可能对C++98支持 不够。因此,当你的代码移植到这些老式的编译器上时,可能会碰到一些稀奇古怪的问题( 包括编译出错和运行时错误)。下面这些注意事项有助于你绕过这些问题。强调一下 ,后面提到的好几个条款都是通过回避C++的新语法来保证移植性。如果你用的是新式编译器 ,那么你可以不理会这些条款。★小心for循环变量的作用域(不支持...
C++的可移植性和跨平台开发[3]:异常处理

C++的可移植性和跨平台开发[3]:异常处理

C++的可移植性和跨平台开发[3]:异常处理2011-04-14编程随想上一个帖子“语法”由于篇幅有限,没来得及聊异常,现在把和异常相关的部 分单独拿出来说一下。★小心new分配内存失败早期的老式编译器生成的代码,如果new失败会返回空指针。我当年用的Borland C++ 3.1 似乎就是这样的,现在这种编译器应该不多见了。如果你目前用的编译器还有这种行为,那 你就惨了。你可以考虑重载new操作符来抛出bad_alloc异常,便于...
ADO开发中如何得到表格字段名

ADO开发中如何得到表格字段名

ADO开发中如何得到表格字段名2010-02-19杨桂文在数据库的开发过程中,常用的操作不仅有添加、修改、删除记录,还有对字段的操作,而获得字段名就是其中的一种。获得字段名之前必须先与数据库建立连接,再打开相应的表,再得到表的字段集,下面以一程序为例,说明如何得到字段名。新建一 VC MFCAppWizard(exe)工程,类型为Dialog based;添加一按钮名为“显示字段”,添加一 Listbox控件;创建 Access数据...
C++的可移植性和跨平台开发[4]:硬件体系相关

C++的可移植性和跨平台开发[4]:硬件体系相关

C++的可移植性和跨平台开发[4]:硬件体系相关2011-04-14编程随想这次聊的话题主要是和硬件体系有关的。比如你的程序需要支持不同类型的CPU(x86、SPARC、PowerPC),或者是同种类型不同字长的CPU(比如x86和x86-64),这时候你就需要关心一下硬件体系的问题。★基本类型的大小C++中基本类型的大小(占用的字节数)会随着CPU字长的变化而变化。所以,假如你要表示一个int占用的字节数,千万不要直接写“4”(顺...
用MFC+ADO把jpg图象文件放入ACCESS库中

用MFC+ADO把jpg图象文件放入ACCESS库中

用MFC+ADO把jpg图象文件放入ACCESS库中2010-02-19刘欣网上好象这个例子还没有样,如果你用VC做一个人事部管理系统,不可能没有人员照片吧!能找到的例子中都是用BMP,不敢用!这个例子用到了VC6.0和access2002(officeXP),涉及到ADO的用法,文件对话框的使用,一个CPicture类和一个buffer缓冲区。一、我的ADO用法整理1.stdafx.h头文件中加入:#import "c:program file...
C++的可移植性和跨平台开发[5]:操作系统

C++的可移植性和跨平台开发[5]:操作系统

C++的可移植性和跨平台开发[5]:操作系统2011-04-14编程随想上一个帖子提到了"硬件体系"相关的话题,今天来说说和操作系统相关的话题 。C++跨平台开发中和OS相关的琐事挺多,所以今天会啰嗦比较长的篇幅,请列位看官见谅 :-)为了不绕口,以下把Linux和各种Unix统称为Posix系统。★文件系统(FileSystem以下简称FS)刚开始搞跨平台开发的新手,多半都会碰上和FS相关的问题。所以先来聊一下FS。归纳下 来,开发中...
探测Windows主机的NetBIOS信息

探测Windows主机的NetBIOS信息

探测Windows主机的NetBIOS信息2010-02-19TOo2y大家一提到Windows2000/XP系统的安全性,很快就会想到NULL Session(空会话)。这可以算是微软安置的一个后门,很多简单而容易的攻击都是基于空会话而实现的。在此,我们不讨论如何攻陷一台Windows2000/XP系统,而是要谈谈在建立空会话之后,我们可以得到远程主机的哪些NetBIOS信息。(由于本文是针对Windows2000/XP系统,所以使用了UNICODE编码...
类的构造函数

类的构造函数

类的构造函数2011-04-14构造函数a.构造函数名必须与类名相同,不得声明返回类型;b.可以用行参形式为成员赋初值,可以重载;c.返回一个不能传递的指向其定义对象首地址的指针;d.不带任何参数的称为缺省构造函数;e.有个特殊的初始化方式叫“初始化表达式表”(简称初始化表)。初始化表位于函数参数表之后、函数体{}之前,规则:①若有继承,派生类必须在初始化表里调用基类的构造函数;class B:public A {…}...
探测Windows2K/XP/2003本机系统信息

探测Windows2K/XP/2003本机系统信息

探测Windows2K/XP/2003本机系统信息2010-02-19FZ5FZNative API乃Windows用户模式中为上层Win32 API提供接口的本机系统服务。平常我们总是调用MS为我们提供的公用的Win32 API函数来实现来实现我们系统的功能。(PS:前不久,偶写了一个Windows任务管理器,支持对桌面,进程/线程,系统性能,磁盘,环境变量,事件日志,网络,设备驱动,Win32服务,共享,用户,系统及关机等信息的探测和控制,完全基于Wi...
拷贝构造函数和运算符重载

拷贝构造函数和运算符重载

拷贝构造函数和运算符重载2011-04-14拷贝构造函数应用的场合由以下几个方面:1 函数的参数是一个对象,并且是值传递方式2 函数的返回值是一个对象,并且是值传递方式3 用一个对象初始化另外一个对象由此,当函数的参数或者返回值为一个对象时,使用的时候要小心,因为值传递的时候执行的是位拷贝,并不会调用对象的构造函数,也就是说生成的临时对象可能不是正确初始化的,这样就可能会出现一些意向不到的问题。当返回值是个对象和用一个对象初始化另外一个对象时的情况是相同的...
一个TCP和UPD聊天、传收文件程序

一个TCP和UPD聊天、传收文件程序

一个TCP和UPD聊天、传收文件程序2010-02-19王雪松摘要:本文通过例子,介绍了如何在局域网中进行聊天、互发文件以及抓取对方屏幕保存为文件。程序还包括了取得本机和对方的IP、计算机名称。滚动ListBox控件等功能本人初次发表文章只是想起抛砖引玉之功效,其中错误在所难免,请各位看客别拿瓜皮丢我,谢谢。运行界面如下:一、 启动终止监听线程(只介绍TCP)由于此程序可以即时切换状态,因此需要结束仍处于接受状态的线程。//TCP监听线程UINT _Lis...
基于C++的稀疏矩阵乘法运算器的实现

基于C++的稀疏矩阵乘法运算器的实现

基于C++的稀疏矩阵乘法运算器的实现2011-04-14 comprg.com.cn 周敏1. 问题描述稀疏矩阵是指那些多数元素为零的矩阵。利用“稀疏”特 点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵乘法运 算的运算器。以“带行逻辑链接信息”的三元组顺序表表示稀疏矩阵,实现两个 矩阵相乘的运算。稀疏矩阵采用十字链表表示,而运算结果的矩阵则以通常的阵列形式列出2 设计2.1 用十字...
使用ADO控件打造另类的聊天室

使用ADO控件打造另类的聊天室

使用ADO控件打造另类的聊天室2010-02-19冰龙这个是我开始接触编程时的想法,想通过仅用数据库,不采用sock来实现一个简单的在局域网内的聊天室,我想这个想法很多人都有过。这个程序本身没什么价值,只是一来把自己当初的设计与大家分享,二来是有鉴于网上对ADO控件的使用这方面的介绍不是很多,自己算是抛砖引玉吧。言归正传,首先用access建立一个数据库chat,接着建两张表格:content(name(文本),time(时间),content(文本))o...
基础入门:解密数组名本质

基础入门:解密数组名本质

基础入门:解密数组名本质2011-04-14现在到揭露数组名本质的时候了,先给出三个结论:(1)数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;(2)数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;(3)指向数组的指针则是另外一种变量类型(在WIN32平台下,长度为4),仅仅意味着数组的存放地址!1、数组名指代一种数据结构:数组现在可以解释为什么第1个程序第6行的输出为10的问题,根据结论1,数组名str的内涵为一种数...
介绍一个控制并行端口的MFC类

介绍一个控制并行端口的MFC类

介绍一个控制并行端口的MFC类2010-02-19PJ Naughter支持环境:Windows 9x、Windows ME、Windows NT、Windows2000简介:这个类允许你使用低级端口I/O函数读写端口数据。例子程序使用这个类实现了PC到PC之间通过"PLT1"进行简单的C/S文件传输。特性:C++接口简洁易用支持UNICODE并且在编译生成程序时可以对UNICODE兼容特性进行配置支持广泛的Windows平台,包括Wi...
关于几何关系的代码说明

关于几何关系的代码说明

关于几何关系的代码说明2011-04-14 csdn 张亮很多朋友需要这方面的资料,尤其是代码。我在陆续挖掘和整理的过程中,推翻了自己的 开源的设想,形成了一个库——cgal32.dll(win32版,标准C库)。一、 这是基于几个原因:1、库中个别地方代码采用了非商业开源的代码。我没有权利去 公开它们。2、只有不开源,我写的库大家才能免费使用。免除大家在道德和法律上 面临的风险。3、我做了大量工作,使自己本身免除道德和法律上的风险...
介绍一个简单的GPS应用软件开发包

介绍一个简单的GPS应用软件开发包

介绍一个简单的GPS应用软件开发包2010-02-19简介:欢迎使用 GPSLIB,这是一个简单的软件开发包(SDK),你可以利用这个 GPSLIB 在自己的32位 Windows 应用程序中加入全球定位系统的支持。本文附带的源代码压缩文件中包含有 GPSLIB 库的源代码和 Demo 程序。很多文件中都有详细的注释说明。为了保证可下载文件的体积尽量的小,压缩文件中不含任何二进制文件。请使用Visual C++ 5 以上的版本编译并生成 DLLs、控制面板...
高效实现Josephus算法

高效实现Josephus算法

高效实现Josephus算法2011-04-14Josephus定义:假设N个人编号1-N,围成圈。从1号开始报数,报到M时,此人退出,然 后继续从1开始报数,直到所有人退出为止。简单的实现是使用循环单链表,设置一个计数器 count,当count == M ,删除当前节点,并将count重置。假设M = 9,N = 5;这里有两处地方可以优化:1.当M>N时,取M`= M mod N,即M` = 9 % 5 = 4;报数到9与报数到4效果一致,但少...
DAO访问ACCESS数据库

DAO访问ACCESS数据库

DAO访问ACCESS数据库2010-02-19这是我前段时间学数据库时做的一个小程序,采用DAO访问ACCESS数据库,程序的主界面如下,控制相对来说很是简单,实现了数据库的基本操作。如图一所示:几点说明:在程序中使用了CButtonStyle这个免费类库,它可以实现带位图的按位,这里是以加载图标的方式操作的,在InitButtonSytle()中,为了使代码更短小,用循环实现了图标按钮。// 用循环实现必须手动改动Resource.h中的定义for (...
<< 231 232 233 234 235 236 237 238 239 240 >>