2014-04-26 17:35:16 lr982330245 阅读数 1566
  • 项目实战:数据库设计精选视频课程-架构师必修课

    在实际的项目开发中,数据库的设计部分是否合理,对于整个项目的成功起着举足轻重的作用。可以不夸张的说,要想成为合格的项目经理、架构师,这个技能你必须掌握----否则你就会成为技术沟通会上的笑柄。 肖老师这套视频,结合了十几个实际项目的具体表设计,从浅入深、从简单项目到复杂的分布式项目,可以让你在短时间内积累很多的实际项目经验

    10148 人正在学习 去看看 肖海鹏
sizeof(void *)不是很准确,跟编译器以及编译选项有关。

所以下面用宏来判断。


在windows上vc编译器会预定义宏_WIN32和_WIN64
msdn上列出的_WIN32和_WIN64





其中_WIN32在32位系统上定义
_WIN32 _WIN64在64位系统上均被定义



在unix上gcc编译器会预定义__GNUC__,__GNUC__ 的值表示gcc的版本。

通过gcc -dM -E test.c  命令可以用来查看gcc预定义的宏。(test.c为任意c文件),编译器会列出所有预定义宏。


#include <stdio.h>

main()
{
#if _WIN32 || _WIN64
#if _WIN64
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif

#if __GNUC__
#if __x86_64__ || __ppc64__
#define ENVIRONMENT64
#else
#define ENVIRONMENT32
#endif
#endif

#ifdef ENVIRONMENT64
	printf("64\n");
#else ENVIRONMENT32
	printf("32\n");
#endif
}


2008-03-05 23:41:00 rambo_china 阅读数 1730
  • 项目实战:数据库设计精选视频课程-架构师必修课

    在实际的项目开发中,数据库的设计部分是否合理,对于整个项目的成功起着举足轻重的作用。可以不夸张的说,要想成为合格的项目经理、架构师,这个技能你必须掌握----否则你就会成为技术沟通会上的笑柄。 肖老师这套视频,结合了十几个实际项目的具体表设计,从浅入深、从简单项目到复杂的分布式项目,可以让你在短时间内积累很多的实际项目经验

    10148 人正在学习 去看看 肖海鹏

PB中如何注销当前用户、关闭计算机、重启计算机

通过ExitWindowsEx函数可实现这三个功能,首先作如下声明:

  Function Long ExitWindowsEx(Long uflag,Long nouse) Library user32.dll

  参数2保留不用,可取0;参数10可以注销当前用户,取1可以关闭计算机,取2可以重启计算机,其值再加4表示强制结束“未响应"的进程。 
2012-08-29 21:46:04 dashao598 阅读数 1782
  • 项目实战:数据库设计精选视频课程-架构师必修课

    在实际的项目开发中,数据库的设计部分是否合理,对于整个项目的成功起着举足轻重的作用。可以不夸张的说,要想成为合格的项目经理、架构师,这个技能你必须掌握----否则你就会成为技术沟通会上的笑柄。 肖老师这套视频,结合了十几个实际项目的具体表设计,从浅入深、从简单项目到复杂的分布式项目,可以让你在短时间内积累很多的实际项目经验

    10148 人正在学习 去看看 肖海鹏

今天偶然看到这个题目,想了一下,然后是在网上搜了一大堆,终于,找到了一个令我自己比较满意的答案。下面介绍一下:

        由于系统是16位或32位或64位,在某种意义上来说指的是其地址总线的条数,也等价于其CPU一次能够处理的数据的最大位数。而我们在程序中与地址相关的就是指针了,所以基于这些理由,可以想象,我们可以从判断指针所占的字节数入手,编写代码:

#include<stdio.h>

//由于要用到strlen函数,所以要包含string.h头文件

#include <string.h>  

int main(int argc, char* argv[])
{

//所要判断的系统可能为64位系统,此时地址由16个十六进制数和一个\0,共17位
char buf[17];

//定义一个char类型的指针,让其指向0号地址单元,此时p的值为0x0000(16位系统)或0x00000000(32位系统)或……
char * p = (char *)0;             //把常数0强制转换为char * 类型的指针

        //把指针p的值用%p格式化到数组buf中,此时假设p = 0x00000000,则buf[0] = 0,buf[1] = 0,……buf[8] = 0, buf[9] = '\0';
sprintf(buf,"%p",p);   

        //调用strlen函数求buf中字符的个数,即p对应的十六进制数的数字的个数;然后乘以4就可得到系统有多少位
printf("System is %d bit.\n",strlen(buf)*4);  
return 0;
}

注:

1):int sprintf( char *buffer,const char *format [,argument] ...);函数在格式化时,会在子否串的末尾自动加上‘\0’;

2):注意'%p'的用法,如:printf("%p\n",&i);会以十六进制输出i的地址,如:0012FF44;


请参考:http://topic.csdn.net/u/20110926/14/3CF3149D-6715-471D-9105-933D55E9C9AD.html,其中的第63和64楼。

2009-03-05 23:46:00 iamhere1956 阅读数 258
  • 项目实战:数据库设计精选视频课程-架构师必修课

    在实际的项目开发中,数据库的设计部分是否合理,对于整个项目的成功起着举足轻重的作用。可以不夸张的说,要想成为合格的项目经理、架构师,这个技能你必须掌握----否则你就会成为技术沟通会上的笑柄。 肖老师这套视频,结合了十几个实际项目的具体表设计,从浅入深、从简单项目到复杂的分布式项目,可以让你在短时间内积累很多的实际项目经验

    10148 人正在学习 去看看 肖海鹏

如何修复被破坏的Foxpro数据库
如何关闭其他的应用程序
如何判断当前操作系统的版本
如何利用C++ Builder 5.0 Enterprise 创建用户自己的网上聊天程序
如何制作Java页面计数器
如何制作PB安装程序
如何制作可随处拖放的工具栏
如何制作照片底片效果的图像(即反色)
如何发布独立的POWERBUILDER应用
如何取得一台机器的CPU占用率
如何取得系统支持的所有显示模式
如何向CImageList中加入位图文件
如何在3D场景中加入Fog
如何在ASP.Net 中把图片存入数据库
如何在ASP中实现PING
如何在C++ Builder中显示透明位图
如何在C++ Builder环境中实现在菜单中显示历史文件列表
如何在C++Builder中检测硬件
如何在DELPHI5中通过程序获取计算机一系列硬件信息
如何在Delphi中使用资源文件
如何在PB中制作特殊形状数据窗口或按钮
如何在PB中同时“继承”多个用户自定义数据窗口对象
如何在PB中启动控制面板及其控制项
如何在VC++中使用API直接打印
如何在VC++程序中获得其他程序的图标
如何在VC5下定制多媒体真彩封页
如何在windows程序中读取bios内容
如何在主流开发环境中使用HTML Help文件
如何在全屏幕显示一个AVI文件
如何在指定矩形中旋转显示文字
如何在注册表中注册BDE
如何在程序中使用自己的库单元
如何在程序启动默认浏览器与电子邮件系统
如何在运行时添加表到表单的数据环境
如何实现Applet之间跨浏览器窗口的通信
如何实现win9X进程间数据通讯技术
如何应用Session开发非Web终端
如何拦截键盘输入
如何提升ASP的商务计算能力
如何提高调用WINDOWS API函数编程技巧
如何映射/中断网络磁盘
如何检测打印机是否联机
如何用API定义程序热键
如何用ASP编写网站统计系统
如何用Delphi编写自己的可视化控件
如何用VB6读写数据库中的图片
如何用VB在窗体中实现闪烁文字
如何用VB编写你自己的MSN即时通讯软件
如何用VB获得Windows各类系统目录
如何用VB访问外来数据库
如何用VC++5在菜单中增加位图或图标
如何用VC++和Visual Foxpro进行ActiveX数据通讯
如何用VC++实现在对话框的控件上显示ToolTip并在状态条上显示控件的信息
如何用VFP的dbf进行SQL Server 7.0 的分布式查询
如何用Visual Basic编写小型的网络系统
如何用asp.net向其他服务器post一条信息
如何用delphi读取网卡物理号
如何用java获取文件夹的大小
如何用pb实现MSACCESS数据库的图片字段存取
如何用位图显示下压按钮
如何知道有哪些计算机与自己的电脑连接
如何给Table减肥
如何给windows标准对话框加上时间限制
如何给windows标准对话框加上时间限制
如何获得当前系统正在运行的所有程序的名字和CLASS
如何防止Edit框中的Password不被非法获取
学习J2SE过程中的30个基本概念
安全课堂:防止黑客用IE浏览器实现远程控制
完全用VB6.0自身功能实现对Windows消息的拦截
完整的网站间共享数据的WebService
定制系统菜单
定时器时间数据转换子程序分析
实战Java多线程编程之不提倡的方法
实现DELPHI中的工具栏窗口融合技术
实现JAVA的动态类载入机制
实现QQ窗体的缩入伸出功能
实现Swing的JTables和Excel间的复制和粘贴功能
实现webbrowser中的打印、复制、全选等编辑功能
实现带阴影弹出的窗口
实现操作过程提示对话框
实现橡皮筋技术构造直线段的VB程序
实现浮动按钮
实现窗体自动隐藏
实现端口对端口的聊天
实现远程屏幕抓取
实现高速文件拷贝
对2D游戏引擎设计的一些思考
对Java中Set的深入研究
对MFC封装Windows通讯API的研究
对Windows网络权限机制的改进
对一个文件使用内存映射文件
对于HOOK函数的一点认识
对于java的打印问题
对象的持久性和文件I/O
寻找windows的任务栏
将PHP作为Shell脚本语言使用
将SAX加入我们的ASP应用中
将hint显示在StatusBar1上
将你的网站设置为客户的信任站点--VB方案
将阿拉伯数字转成中文字
更多可免费阅读免费下载的文档

2012-11-25 11:58:34 a5987995329 阅读数 6510
  • 项目实战:数据库设计精选视频课程-架构师必修课

    在实际的项目开发中,数据库的设计部分是否合理,对于整个项目的成功起着举足轻重的作用。可以不夸张的说,要想成为合格的项目经理、架构师,这个技能你必须掌握----否则你就会成为技术沟通会上的笑柄。 肖老师这套视频,结合了十几个实际项目的具体表设计,从浅入深、从简单项目到复杂的分布式项目,可以让你在短时间内积累很多的实际项目经验

    10148 人正在学习 去看看 肖海鹏


(1)基本概念

Windows对系统版本的表示分为:主版本号、次版本号、构建号、sp主版本号、sp次版本号。

(2)相关API

 BOOL GetVersionEx(
    LPOSVERSION lpVersionInfo;  //输入输出参数
)

OSVERSIONINFOEX 结构

typedef struct _OSVERSIONINFOEX {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;   
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
TCHAR szCSDVersion[128];
WORD  wServicePackMajor;
WORD  wServicePackMinor;
WORD  wSuiteMask;
BYTE  wProductType;
BYTE  wReserved;
} OSVERSIONINFOEX, *POSVERSIONINFOEX, *LPOSVERSIONINFOEX;


(3)相关测试实例与错误报告

int main()
{
OSVERSIONINFOEX osver;
osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
//获取版本信息
if (! GetVersionEx((LPOSVERSIONINFOA)&osver))
{
cout<<"Error:"<<GetLastError()<<endl;
}
     //打印版本信息
cout<<"System info:"<<endl;
cout<<"Version:"<<osver.dwMajorVersion<<"."<<osver.dwMinorVersion
<<" Build "<<osver.dwBuildNumber
<<" Service Pack "<<osver.wServicePackMajor<<"."
<<osver.wServicePackMinor<<endl;
system("pause");
}

@problem:

错误 1 error C2664: GetVersionExA不能将参数 从“OSVERSIONINFOEX *”转换为“LPOSVERSIONINFOA

解决办法:

强制转换:GetVersionEx((LPOSVERSIONINFOA)&osver)

@display

运行结果:

System info:

Version:6.1 Build 7601 Service Pack 1.0

测试密码强度

阅读数 1472

按钮权限分配

阅读数 1765

没有更多推荐了,返回首页