32位-vs2010中使用#define _USE_32BIT_TIME_T无效

问题描述

vs2010中使用#define _USE_32BIT_TIME_T无效

如题,最近在看各种关于c++的资料,无意中发现**time__t**类型在VS2005之前是32位,于是我试着让现在已是64位的**time__t**使用原来的32位格式。查完各种资料,据说在文件头加上**#define USE_32BIT_TIME_T**就行,但是我在我写的.cpp文件头上加上这句话,使用**sizeof(time_t)**,竟然还是8而不是4,请问这个是为什么?
以下是程序最上面的那部分:

 #define _USE_32BIT_TIME_T
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
#include <windows.h>
#include <time.h>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])

解决方案

要放在最前面,你stdafx.h里面应该还包含了别的文件把,放在stdafx.h里面的最前面

解决方案二:

具体设置方法如下: Property Pages->C/C++->Preprocessor->Preprocessor Definitions增加_USE_32BIT_TIME_T宏.

解决方案三:

VS2005 与_USE_32BIT_TIME_T 预定义宏的问题
_USE_32BIT_TIME_T 注意此宏

时间: 2024-08-01 16:45:11

32位-vs2010中使用#define _USE_32BIT_TIME_T无效的相关文章

教你win7纯净版32位系统中一键关闭多个相同进程的技巧

  原因分析:如果win7纯净版32位系统中内置了IE8浏览器的话,这也正是导致这种多个iexplore.exe进程出现的原因. 1.首先点击win7系统开始菜单,然后在所有程序中找到附件,命令提示符并右键点击,然后以管理员身份运行; 2.在命令提示符窗口中,输入代码taskkill /F /IM iexplore.exe并回车; 完成上述操作之后,任务管理器中的重复IE进程就会被关闭掉了,不过上面的操作过程还是挺麻烦的,其实,咱们可以将这些操作完全的设置为一个快捷方式,以后直接双击即可关闭,具

32位Win7中4G内存显示只有2.46G可用的解决

一般32位的操作系统是不识别4G以上内存的,显示多为3G(至少是3G左右的可用),但是我发现我的系统却只显示"2.46G可用". 一般32位的操作系统是不识别4G以上内存的,显示多为3G(至少是3G左右的可用),但是我发现我的系统却只显示"2.46G可用". 百度了一下,发现是由于双显卡切换机型(比如我的T400),集成显卡吃掉了500M内存来做共享显存,要禁用集成显卡(禁用显卡切换)只需进入 BIOS-Display,设置: 1.Default Primarty

请教:在64位操作系统中64位进程如何枚举32位进程中加载的模块?

问题描述 如题:操作系统为Windows7x64,主进程为x64,目标进程为x86:由于Win64系统会模拟x86的环境来运行x86的程序,使用的组件为Wow64xxx.dll等:所以在使用如下代码进行枚举得到的只有Wow64xxx.dll等,得不到真正加载的组件:代码:Processproc=Process.GetProcessById(targetProcessId);for(inti=0;i<proc.Modules.Count;i++){//此处在x64环境中无法获得x86进程中的组件C

win7纯净版32位系统中简化打开所需控制面板目标界面的设置方法

  1.首先双击打开win7系统中的计算机,然后点击工具--文件夹选项,在查看标签页中设置显示已知文件类型的扩展名; 2.接着在桌面上鼠标右击选择"新建--文件夹",然后给新建的文件夹重命名为"完全控制面板.{ED7BA470-8E54-465E-825C-99712043E01C}"; 3.双击打开"完全控制面板",可以看到其中的内容; 4.比如当用户双击打开"管理BitLocker",即会进入Bitlocker管理界面,对

怎么修改win7纯净版32位系统中的语言栏设置

  1.首先依次点击win7系统桌面左下角的"开始"→"控制面板"; 2.在弹出的窗口中,点选"时钟.语言和区域",如果没看到的话通过修改查看方式选择"类别"选项得到; 3.在出现的时钟.语言和区域窗口中,选择"区域和语言"; 4.在出现的"区域和语言"窗口中,选择"键盘和语言"选项卡,点选"更改键盘(C)-"按钮; 5.在出现的"文本服

颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)【转】

转自:http://www.cnblogs.com/1175429393wljblog/p/5404626.html 颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别简单地说这里说的位数和windows系统显示器设置中的颜色位数是一样的.表示的是能够显示出来的颜色的多少. 8位的意思是说,能够显示出来的颜色的数量有8位数.16.24都是一样的.24位的颜色数量已经很多了,叫做"真彩色",其实32位和24位颜色数量是一样多的.32位多出来的8位数是用来表示透明度信息的,

WIN7 64位操作系统,Oracle.DataAccess在VS2010中正常,到了IIS就不正常了

问题描述 如题,IIS中没有启用32位程序,因为一启动,页面运行就导致应用程序池停止oracle.dataaccess版本为2.112.3.0数据库用的oracle11 解决方案 解决方案二:列出异常信息,否则就靠报错来猜测啊?解决方案三:oracle11的ODP.NET版本为4.112.3.0吧?解决方案四:引用1楼starfd的回复: 列出异常信息,否则就靠报错来猜测啊? 能加载文件或程序集"Oracle.DataAccess"或它的某一个依赖项.试图加载格式不正确的程序.说明:执

&lt;转&gt;32位移植到64位 注意事项

32bit-64bit porting work注意事项 64位服务器逐步普及,各条产品线对64位升级的需求也不断加大.在本文中,主要讨论向64位平台移植现有32位代码时,应注意的一些细小问题. 什么样的程序需要升级到64位? 理论上说,64位的操作系统,对32位的程序具有良好的兼容性,即使全部换成64位平台,依然可以良好的运行32位的程序.因此,许多目前在32位平台上运行良好的程序也许不必移植,有选择,有甄别的进行模块的升级,对我们工作的展开,是有帮助的. 什么样的程序需要升级到64位呢? 除

Windows系统32位和64位的区别在哪里

  Windows系统32位和64位的区别在哪里          如何确定32位和64位系统? 计算机体系结构是32位还是64位取决于计算机内部的处理器(CPU).目前,大多数计算机处理器属于这两个类别之一. 64位处理器比对应的32位处理器指数级更强大,因为它们可以保存和处理更多的信息. 要了解两者之间的差异的大小,你必须理解一点关于二进制计数,二进制只有两个数 0或1. 因此,32位数具有2 ^ 32个可能的地址,也就是4,294,967,296.相反,64位数字的容量是2 ^ 64,也就