c语言名字程序,c语言获得程序位数和操作系统位数和名称
// vcis64.cpp : VC 64位程序开发心的——c语言获得程序位数和操作系统位数和名称。
#include
#include
#include
#include
// 获取程序位数(被编译为多少位的代码)
int GetProgramBits()
{
return sizeof(int*) * 8;
}
// 安全的取得真实系统信息
VOID SafeGetNativeSystemInfo(__out LPSYSTEM_INFO lpSystemInfo)
{
if (NULL==lpSystemInfo)return;
typedef VOID (WINAPI *LPFN_GetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);
LPFN_GetNativeSystemInfo fnGetNativeSystemInfo = (LPFN_GetNativeSystemInfo)GetProcAddress( GetModuleHandle(_T("kernel32")), "GetNativeSystemInfo");;
if (NULL != fnGetNativeSystemInfo)
{
fnGetNativeSystemInfo(lpSystemInfo);
}
else
{
GetSystemInfo(lpSystemInfo);
}
}
// 获取操作系统位数
int GetSystemBits()
{
SYSTEM_INFO si;
SafeGetNativeSystemInfo(&si);
if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64 )
{
return 64;
}
return 32;
}
//获取操作系统名字,如windows 7
//成功返回系统信息,失败返回NULL
int GetVersionInfo(char* systeminfo)
{
OSVERSIONINFO osvi;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if (!GetVersionEx(&osvi)) {
return NULL;
}
//判断版本
if (osvi.dwMajorVersion == 5) {
switch (osvi.dwMinorVersion) {
case 0:
//wcscpy_s(systeminfo,_T("Windows 2000"));
strcpy(systeminfo,"Windows 2000");
break;
case 1:
strcpy(systeminfo,"Windows XP");
break;
case 2:
strcpy(systeminfo,"Windows Server 2003");
break;
default:
strcpy(systeminfo,"Unknown");
break;
}
}else if (osvi.dwMajorVersion == 6) {
switch (osvi.dwMinorVersion) {
case 0:
strcpy(systeminfo,"Windows Vista");
break;
case 1:
strcpy(systeminfo,"Windows 7");
break;
case 2:
strcpy(systeminfo,"Windows 8");
break;
default:
strcpy(systeminfo,"Unknown");
break;
}
}else {
strcpy(systeminfo,"Unknown");
}
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
const int nBitCode = GetProgramBits();
const int nBitSys = GetSystemBits();
char systeminfo[1024];
memset(systeminfo,0,1024);
GetVersionInfo(systeminfo);
//_tprintf
printf("I am a %dbit Program, run on %d bit %s System.", nBitCode, nBitSys,systeminfo);
//
_getch();
return 0;
}
c语言名字程序,c语言获得程序位数和操作系统位数和名称相关推荐
- CPU位数、操作系统位数、应用程序位数浅析
问题起源: 64位CPU的64指的是什么 32位计算机的32位指的是啥 32位计算机装8G内存有用吗 32位应用程序和64位应用程序又是啥... ... 能说上来一点,但实际上含糊不清的概念有很多 下 ...
- c语言小饭店等位就餐程序,C语言程序设计 C语言程序设计 3.C语言程序设计教案全部.doc...
C语言程序设计教案 PAGE PAGE 2 C语言程序设计教案 C语言程序设计教案 编写:宋铁桥 计算机技术系 二〇一七年三月整理 河北工业职业技术学院 <C语言程序设计>课程教案首页 授 ...
- C语言第一节 C语言程序与开发工具
开发工具的选择 可以用来写代码的工具:记事本.UltraEdit.Vim.Xcode等 选择Xcode的原因:苹果官方提供的开发利器.简化开发过程.有高亮显示功能 使用Xcode新建一个C程序的源代码 ...
- 初识c语言教程,第1课C语言教程一: 初识C程序.doc
第1课C语言教程一: 初识C程序 第1课 初识C程序 教学目标 1.计算机语言介绍 2.了解C语言 3.如何学好C语言(多做题,多上机调试程序) 4.C语言上机调试环境 教学过程 计算机程序设计语言的 ...
- 姓名的首字母组成的图案C语言怎么编,c语言编写一个程序,根据用户输入英文名和姓先显示姓氏,其后跟一个逗号,然后显示名的首字母:...
给分!代码如下:includeincludeincludedefine MAX_LENGTH 50int main(){char cFirstName[MAX_LENGTH];char cLastNa ...
- c语言中语句开始的标志是,第一个单片机程序(C语言编写)
第一个单片机程序: #include //包含特殊功能寄存器定义的头文件 sbitLED = P0^0; //位地址声明,注意:sbit 必须小写.P 大写! void main(){ //任何一个 ...
- 第一个单片机程序(C语言编写)
第一个单片机程序: 纯文本复制 #include <reg52.h> //包含特殊功能寄存器定义的头文件 sbit LED = P0^0; //位地址声明,注意:sbit 必须小写.P 大 ...
- 《C语言基础学习笔记》—— 黑马程序员 <Part1-4>
<C语言基础学习笔记 Part1-4> Part 1 基础介绍 1. 第一个C语言程序:HelloWorld 1.1 编写C语言代码:hello.c 1.2代码分析 1)include 头 ...
- 用EasyX图形库编写动态彩色万花尺程序(c语言)
用EasyX图形库编写动态彩色万花尺程序(c语言) 在EasyX看到别人写的万花尺程序,想起来小时候玩的,就动手改进增加了一些效果.参考程序连接(侵删):万花尺_慢羊羊 我的效果如下,输入数据:[30 ...
最新文章
- 4.通过Ubuntu指令生成GIF图片
- MIT科学家首次发现只对歌唱有反应的神经元,对,只能人声带伴奏的那种歌
- python编程语言是什么-编程语言分类及python所属类型
- 不同组织间的邮件收发
- python中def和return是必须使用的保留字吗_Python 保留字和关键字的用法
- 软件工程课, 编程课 助教的工作介绍
- windows和linux没有启动选择,重装Windows后,LILO启动选单不见了,无法进入Linux系统怎么办...
- 作为程序员,制霸了 Stack Overflow 是一种怎样的体验?
- python字符串方法总结_python字符串使用方法总结
- php将excel日期转成时间戳,使用PHP将Excel日期编号转换为Unix时间戳时不匹配
- SQLite查询优化(转)
- 《基于MFC的OpenGL编程》Part 3 Drawing Simple 2D Shapes
- Python 之 新手安装详解 、安装目录说明 及 修改 pip 默认包安装位置
- 华为交换机查看发光收光
- 如何系统学习SWAT模型—建模方法、实例应用、高级进阶
- OWASP Top 10 2017 10项最严重的 Web 应用程序安全风险
- 最新PHP小旋风站群系统源码Ver9.02+带安装教程
- android 连 wpa3路由器,WPA3 和 Wi-Fi Enhanced Open
- 各种格式的文件用什么软件打开
- 如果黑客转行干活动策划,我再也不怕开会睡着了