CSDN-blog首页 >> C++

Ring0和Ring3本质
intel处理器实现4个权限级别ring0-ring3 windows使用了两个 权限的实现是靠地址的值的范围,和几个寄存器的值
黄明明 发表于2008-12-2 0:18:00 评论(0) 点击(0)
关于namespace或global作用域内变量和常量以及static修饰符
转载自:http://www.cppblog.com/bidepan2023/archive/2008/01/22/41620.html我们的讨论基于下列准则:
1. 只限于namespace或global作用域的变量常量。函数内或Class内的不做讨论。2. 如果是C程序,以下涉及匿名namespace处都该以static取代之。(虽然C++也可以用static,但更好的方式是匿名namespace)3. 链接期变量定义只能在一个CPP中出现;常量则可以多次出现。4. 被置于namespace内的东西必将成为私用,编译器会帮你约束不小心的extern。5. 共享的东西至少声明应该出现在头文件中,私用的东西则不该出现在头文件中
1. 私用:应该放在CPP中,常量和变量都应该以namespace{}或者static(如果是C程序)包含之,// xx.cppnamespace {    int i = 100;    const int i = 200;}当然如果不用namespace{}约束,并且头文件中不声明语法也是个私用变量:但这样有两个风险:1. 万一在头文件中
fancylea 发表于2008-12-1 23:43:00 评论(0) 点击(0)
分治策略 求 最近点对问题
分治策略 最近点对
kdlx 发表于2008-12-1 23:33:00 评论(0) 点击(0)
装上Linux(Ubuntu)+Code::Blocks svn5323
1、Ubuntu 有张光盘,插入新机器的光盘,开机启动。中间选了汉字界面,一路“下一步”,就完了。2、然后就升级。因为光盘版是8.04。也就是08年4月份的。而Ubuntu,或者说Linux,升级很频繁。因此检查更新时,说有300多个文件需要下载,就让它下载吧,公司上班时间网速极慢,但吃个午饭,倒了更新完毕。3、虽然安装时,选了汉字界面,但那个界面只是“半拉子”的汉字界面,有些软件,包括Firebird,也包括顶头的菜单栏的“Program”、“Place”、“System”都还是英文的。选了“Language”,发现默认是“汉字”,但在“Support Language”里,一大串语言中(居然有壮语),“汉语”一项也是没有打勾的,打上它,选“应用”,又一是一番下载,注销后重进桌面,嗯,这回都是汉语界面了。4、中间一个插曲,打本本上的Windows,运行Firefox,对照着,把什么“彩色Tab”、“Download all”、“鼠标笔势”、“书签同步”之类的插件,都在Linux的Firebird下输个名字,立即安
南郁 发表于2008-12-1 23:30:00 评论(0) 点击(0)
2009年MBA考试答案 QQ:879260665 2009年研究生考试答案
2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 MBA考试答案 QQ:879260665 考试生考试答案 200
2009年MBA考试答案 QQ:879260665 2009年研究生考试答案 发表于2008-12-1 23:24:00 评论(0) 点击(0)
SSD6中Exercise4 (substitute.cpp) 答案解析
今天终于把Exercise4搞定了,昨天大约优化了0.38秒,今天优化了0.52秒,跨越了一大步。 在我们未加任何修饰执行此代码时,其执行后所用时间如图(摘抄主要): Function Callee Exclusive Time
汪帅 发表于2008-12-1 22:55:00 评论(0) 点击(0)
宽字符的CString转换为const char *
CString theString( "This is a test" ); int sizeOfString = (theString.GetLength() + 1); LPTSTR lpsz = new TCHAR[ sizeOfString ]; _tcscpy_s(lpsz, sizeOfString, theString);
欧阳华 发表于2008-12-1 22:25:00 评论(0) 点击(0)
MFC CListCtrl 使用小结
在之前做的那个Copy Manager中,用到了MFC中的CListCtrl,这个控件和.net环境下的DataGridView比起来,实在是太难用了。
曹宗颖 发表于2008-12-1 21:34:00 评论(0) 点击(0)
strncat() 函数
功能:将字符串from 中至多count个字符连接到字符串to中,追加空值结束符。返回处理完成的字符串。
xxyakoo 发表于2008-12-1 21:22:00 评论(0) 点击(0)
strlen() 函数
功能:函数返回字符串str 的长度( 即空值结束符之前字符数目)。
xxyakoo 发表于2008-12-1 21:19:00 评论(0) 点击(0)
程序存储问题
fin>>m>>n; vector v; for (i = 0;i >a; v.push_back(a); }
欧阳华 发表于2008-12-1 20:47:00 评论(0) 点击(0)
在VS 2008下成功编译Chrome
在VS 2008下编译Chrome
celestialwy 发表于2008-12-1 20:21:00 评论(0) 点击(0)
CString类所有成员函数详解(转载)
CString类所有成员函数详解(转载)
凤舞九天 发表于2008-12-1 20:15:00 评论(0) 点击(0)
auto_ptr作用和用法
标准auto_ptr智能指针机制很多人都知道,但很少使用它。这真是个遗憾,因为auto_ptr优雅地解决了C++设计和编码中常见的问题,正确地使用它可以生成健壮的代码。本文阐述了如何正确运用auto_ptr来让你的代码更加安全——以及如何避免对auto_ptr危险但常见的误用,这些误用会引发间断性发作、难以诊断的bug。

1.为什么称它为“自动”指针? auto_ptr只是众多可能的智能指针之一。许多商业库提供了更复杂的智能指针,用途广泛而令人惊异,从管理引用的数量到提供先进的代理服务。可以把标准C++ auto_ptr看作智能指针的Ford Escort(elmar注:可能指福特的一种适合家居的车型):一个简易、通用的智能指针,它不包含所有的小技巧,不像专用的或高性能的智能指针那么奢华,但是它可以很好的完成许多普遍的工作,它很适合日常性的使用。

auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。这里是一个简单的代码示例,没有使用auto_ptr所以不安全:

// 示例 1(a): 原始
崔国正 发表于2008-12-1 17:45:00 评论(0) 点击(0)
ACE_Task自然退出的问题
最近解决了以前遗留的ACE问题(原来的应用退出时实际上各子线程不是自然退出,而是因为进程终止而强制退出的),高兴!特此记录一下。
Stephen 发表于2008-12-1 17:31:00 评论(0) 点击(0)
C++反汇编揭秘1 – 一个简单C++程序反汇编解析 (Rev. 3)
C++反汇编揭秘
发表于2008-12-1 16:53:00 评论(0) 点击(0)
[Java]Java中调用C/C++生成的DLL(转) (2007-05-16 23:51:44)
[Java]Java中调用C/C++生成的DLL(转)(2007-05-16 23:51:44)   分类:Java 
以下这个例子实现的是通过调用C写的DLL,计算字符串长度。

 
一、            生成C的头文件
1.       编辑Main.java
public class Main
{
    public native static int getStrNum(byte str[], int strLen);
}
2.       生成头文件
按win + r打开“运行”窗口,输入“cmd”,打开DOS控制台窗口。进入上面Main.java所在的目录中,输入:
javac Main.java
javah Main
两条命令完成后会生成Main.h文件
 
 
二、  生成DLL
 
1.       新建空工程
在VS中新建工程:Win32 Console Ap
可克samxx8 发表于2008-12-1 16:39:00 评论(0) 点击(0)
一种很猥琐的驱动加载方式
一种很猥琐的驱动加载方式,不过好像有时候会蓝屏,跟分页有关
黄明明 发表于2008-12-1 16:26:00 评论(0) 点击(0)
一个PE文件的学习程序[原创]
PE文件的剖析
jiangwei 发表于2008-12-1 15:45:00 评论(3) 点击(0)
【彩金狮王技术破解】-326170190
46倍奔驰宝马破解技术 75倍奔驰宝马定位器 -首页辉煌 75倍奔驰宝马技术打法 /65倍奔驰宝马定位器-首页辉煌 大小豹破解/百利风火轮破解/宝藏骑兵破解 /赛车风云破解-首页辉煌 奔驰宝马破解//宝马全球通破解/吉祥宝贝破解-首页辉煌 超级斗地主破解//疯狂斗地主破解/龙虎争霸破解-首页辉煌 西游夺彩破解 /中福在线破解/彩金狮王破解-首页辉煌 飓风一号破解/飓风二号技术破解 /百家乐技术破解-首页辉煌 水果大餐破解/泰山闯天关破解 /奔驰宝马破解-首页辉煌 赌机破解/咾唬机破解 /连线机破解-首页辉煌 翡璨明珠破解/快乐西游破解/单挑王破解/-首页辉煌 动物乐园破解 /狮子王国破解/轮盘机技术破解-首页辉煌 水果大餐技术破解 /超级风火轮技术破解/连线机技术破解-首页辉煌 彩金狮王技术破解/赛车风云技术破解 /吉祥宝贝技术破解-首页辉煌 金皇冠技术破解/水果机技术破解 /咾唬机技术破解-首页辉煌 专业破解各种咾唬机 效果缔造专业 一切的一切冲击您的想象 出售各种咾唬机作弊器 百家乐破解器 咾唬机上分器 奔驰宝马 定位器 干扰器 咾唬机上分器,定位
辉煌网络 发表于2008-12-1 15:41:00 评论(0) 点击(0)
自适应模板Array
这是一个自适应大小的Array的类型(不重复节点) 功能: 加入节点 删除节点 返回缓冲区 返回缓冲需大小 MyVector MyVector2 使用方法
林茂 发表于2008-12-1 14:15:00 评论(0) 点击(0)
MQ说明与简要命令使用
MQ Sphere MQ 命令 说明
ucc43 发表于2008-12-1 14:05:00 评论(0) 点击(0)
函数可重入性及编写规范
一、可重入函数
1)什么是可重入性?
可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反, 不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入 函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。

2)可重入函数:
不为连续的调用持有静态数据。
不返回指向静态数据的指针;所有数据都由函数的调用者提供。
使用本地数据,或者通过制作全局数据的本地拷贝来保护全局数据。
如果必须访问全局变量,记住利用互斥信号量来保护全局变量。
绝不调用任何不可重入函数。

3)不可重入函数:
函数中使用了静态变量,无论是全局静态变量还是局部静态变量。
函数返回静态变量。
函数中调用了不可重入函数。
函数体内使用了静态的数据结构;
函数体内调用了m
Z_man 发表于2008-12-1 14:04:00 评论(0) 点击(0)
使用可重入函数进行更安全的信号处理
如果要对函数进行并发访问,不管是通过线程还是通过进程,您都可能会遇到函数不可重入所导致的问题。在本文中,通过示例代码了解 如果可重入性不能得到保证会产生何种异常,尤其要注意信号。引入了五条可取的编程经验,并对提出的编译器模型进行了讨论,在这个模型中,可重入性由编译器 前端处理。
在早期的编程中,不可重入性对程序员并不构成威胁;函数不会有并发访问,也没有中断。在很多较老的 C 语言实现中,函数被认为是在单线程进程的环境中运行。
不过,现在,并发编程已普遍使用,您需要意识到这个缺陷。本文描述了在并行和并发程序设计中函数的不可重入性导致的一些潜在问题。信号的生成和处理尤其增加了额外的复杂性。由于信号在本质上是异步的,所以难以找出当信号处理函数 触发某个不可重入函数时导致的 bug。
本文: 定义了可重入性,并包含一个可重入函数的 POSIX 清单。给出了示例,以说明不可重入性所导致的问题。指出了确保底层函数的可重入性的方法。讨论了在编译器层次上对可重入性的处理。
什么是可重入性?
可重入(reentrant)函数可以由多于一个
Z_man 发表于2008-12-1 14:03:00 评论(0) 点击(0)
strerror() 函数
功能:函数返回一个被定义的与某错误代码相关的错误信息。
刘祥 发表于2008-12-1 13:31:00 评论(0) 点击(0)
strcspn () 函数
功能:函数返回str1 开头连续n个字符都不含字符串str2内字符的字符数。
刘祥 发表于2008-12-1 13:30:00 评论(0) 点击(0)
c++继承实例
#include#includeusing namespace std;//--------------------------------------分别对各个的定义----------------------------------------------------------------------------------------------class Datetime{ public:   Datetime();   Datetime(Datetime &L);   void Settime();   int GetY(){return year;}   int GetM(){return month;}   int GetD(){return day;}   void Showtime(); private:   int year,month,d
duoduo08 发表于2008-12-1 12:43:00 评论(2) 点击(0)
C++ 对象的内存布局(上)

C++对象的内存布局(上)
 
陈皓http://blog.csdn.net/haoel
前言
 
07年12月,我写了一篇《C++虚函数表解析》 的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么 再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇 文章成为了打开C++对象模型内存布局的一个引子,引发了大家对C++对象的更深层次的讨论。当然,我之前的文章还有很多方面没有涉及,从我个人感觉下来,在谈论虚函数表里,至少有以下这些内容没有涉及:


1)有成员变量的情况。
2)有重复继承的情况。
3)有虚拟继承的情况。
4)有钻石型虚拟继承的情况。
 
这些都是我本篇文章需要向大家说明的东西。所以,这篇文章将会是《C++虚函数表解析》的一个续篇,也是一篇高级进
gausing 发表于2008-12-1 12:05:00 评论(0) 点击(0)
VC 下加载 JPG / JPEG / GIF / PNG 图片最简单的方法
VC MFC 提供的 API LoadBitmap / LoadImage 类 CBitmap 等都只能操作 BMP 位图,图标。对于其他常用的 JPG / JPEG / GIF / PNG 格式,它无能为力。VC 下怎样才能加载各种非 BMP 格式的图片呢?
dreamer_gz 发表于2008-12-1 11:50:00 评论(0) 点击(0)
何时调用C++复制构造函数和拷贝构造函数
介绍了复制构造函数和赋值构造函数的调用时机
rabbit729 发表于2008-12-1 11:37:00 评论(0) 点击(0)
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|版权声明|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo