草庐IT

C++条件编译

全部标签

c# - Windows 登录的使用条件对话框

我需要设计一个“使用条件”对话框,在用户登录到WindowsXP后显示给他们。在用户选中“我同意”框之前,它不得允许用户继续。必须无法使用任务管理器或任何其他方法将其关闭。它应该是全屏和模态的。“我同意”将在后续登录期间自动保持选中状态,持续时间为1个月,之后用户需要再次选中。HR还想跟踪谁选中了复选框。使用.Net可以实现这样的事情吗?我可以使用C#来设计它,但我不确定如何防止用户绕过对话框。我知道Windows组策略允许在登录前显示对话框,但不允许复选框或任何自定义。有什么想法吗? 最佳答案 在旧版本的Windows中,过去可以

c - 如何在 Windows 中从源代码编译 curl?

我根据thisanswer下的建议创建了这个问题。 最佳答案 cURL文档详细解释了如何在Windows上构建它。您应该阅读源压缩包中的docs/INSTALL。根据您的编译器(msvc、mingw、borland)和构建系统(makefile、IDE),有很多方法可以做到这一点... 关于c-如何在Windows中从源代码编译curl?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questio

c++ - 如何使用另一个 C++ 程序编译 C++ 代码?

我想创建一个程序来修改另一个c++源代码,编译它并运行exe。我的意思是像gcc这样的东西我可以,但在Windows操作系统上gcc可能不存在。可能吗? 最佳答案 我认为Windows的选项相当有限:检查编译器的安装(可能将其限制在一个简短的列表中)并使用该编译器在应用程序的安装包中带上编译器 关于c++-如何使用另一个C++程序编译C++代码?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/que

c++ - 修改编译后的可执行内存分配

我有一个无法访问源代码的已编译可执行文件。每次运行时,都会将一个变量分配给内存地址0x7B008C。我试图让它每次都使用不同的地址而不是那个地址。它不必是动态的,因为我的目的只是破坏当前存在的修改源程序行为的应用程序。所以我的问题是,在不破坏程序行为的情况下实现这一目标的最简单方法是什么? 最佳答案 一般来说,你不能。编译可执行文件时,链接器在机器代码中将对静态变量的引用解析为变量的原始地址。没有迹象表明存在这样的引用,并且由于x86机器代码的性质,以后很难找到这些引用(您不一定能清楚地知道指令从哪里开始)。此外,您不知道那是否只是

windows - Windows 中的进程间条件变量

我知道我可以使用条件变量来同步线程之间的工作,但是是否有任何类likethis(conditionvariable)来同步进程之间的工作,在此先感谢 最佳答案 使用一对已命名的Semaphore对象,一个作为信号,一个作为锁。Windows上的命名同步对象是自动进程间的,它会为您处理这部分工作。像这样的类就可以了。classInterprocessCondVar{private:HANDLEmSem;//UsedtosignalwaitersHANDLEmLock;//Semaphoreusedasinter-processlock

c++ - DirectShow 编译问题

我在64位平台和WindowsSDKv7.1上使用vs2010。我为64位平台构建了基类,并在我的项目中对其进行了配置。但我面临以下问题。我正在尝试连接罗技910高清摄像头。1>LogitechC910Interface.obj:errorLNK2001:unresolvedexternalsymbol__imp_VariantClear1>LogitechC910Interface.obj:errorLNK2001:unresolvedexternalsymbol__imp_CoCreateInstance1>LogitechC910Interface.obj:errorLNK200

c++ - 我的程序在 Windows 上使用 MSVC 和 g++ 编译器运行,但在 Linux 上不运行

我正在为一项研究任务编写遗传算法。我不是一个非常有经验的C++程序员(因为我是一名数学家),但我管理我的程序在Windows环境中使用MSVC2008和g++编译器正确编译和运行(我使用CygWin在Windows7上运行g++)。现在,问题是这个程序必须在Linux环境下使用g++的集群计算机中运行,但它总是在执行时崩溃(尽管至少它编译正确)。我已经解决了明显的细节(例如使用/而不是\作为文件名),但无法使其在Linux上正常运行。但是,当我在下面注释函数“Cruce”时,程序结束了,尽管它显然没有执行所需的任务。这是这样一个函数的代码,以及它调用的其他函数(唯一的全局变量是BITG

windows - 具有内联 asm 的 Windows x64 平台中的 libsoxr 未编译

我正在尝试编译libsoxr(它由Audacity团队派生自libsox库)库。我可以编译osx32、osx64和win32。他们使用内联汇编,而Windowsx64平台不支持内联汇编。有问题的代码是这样的:#ifHAVE_FENV_H#include#elifdefined_MSC_VER#defineFE_INVALID1#defineFE_DIVBYZERO4#defineFE_OVERFLOW8#defineFE_UNDERFLOW16#defineFE_INEXACT32#defineFE_ALL_EXCEPT(FE_INEXACT|FE_DIVBYZERO|FE_UNDER

c++ - MinGW Windows.h 不编译

我在64位Windows7上使用MinGWg++4.6.2。至于IDE,我使用EclipseCDT。我的项目有问题-当我包含“Windows.h”文件时,出现了数千个错误。我试图创建一个仅包含Windows.h的不同文件,但它给出了相同的错误。.h:/**WinWrapper.h**Createdon:Feb24,2013*Author:martin*/#ifndefWINWRAPPER_H_#defineWINWRAPPER_H_char*winGetMainModule();#endif/*WINWRAPPER_H_*/.cpp:#include"WinWrapper.h"#inc

c - 赋值从整数生成指针而不进行强制转换

当我尝试编译以下代码时:#defineBUFSIZEMAX_PATH//....TCHARsz_VolumeName[BUFSIZE];//11HANDLEhSearch;//12hSearch=FindFirstVolume(sz_VolumeName,BUFSIZE);//13它给了我错误:[Warning]assignmentmakespointerfromintegerwithoutacast-第13行的问题这里出了什么问题?编辑:例如:#include#include#include#include#defineBUFSIZEMAX_PATHintmain(intargc,c