草庐IT

c - 在 Windows 中移动 TreeView 项目

我一直在使用WinAPI开发TreeView系统。我围绕一些功能构建了包装器,这些功能允许我在控件中插入新项目、删除项目和移动项目。然而,移动元素似乎是一件让人头疼的事情。我在MSDN(http://msdn.microsoft.com/en-us/library/aa925848.aspx)中找不到任何可以解决我的问题的函数。因此,我不得不创建一个肮脏的黑客来保存项目的属性,删除旧项目并将项目插入新位置。这是一个小代码片段:TVITEMtvitem;charchrTextBuffer[33];tvitem.mask=TVIF_TEXT;tvitem.cchTextMax=sizeof

c# - 从 Windows 可执行文件中识别编译器版本

是否有可靠的方法来检测使用哪个编译器来编译和构建给定的Windows可执行文件?单独这个话题太宽泛了,所以我缩小范围:我只对C系列语言(C、C++、C#)感兴趣让我们假设可执行文件未出于隐藏此信息的目的而被篡改。VisualStudio和最著名的gnu编译器就足够了,因此无需处理非常陈旧或未广泛使用的编译器。对于C#,很明显使用了VisualStudio附带的编译器,因此在这种情况下是否可以获取Studio的版本(年份)和类型(express等)?编辑:从答案来看,似乎很难确定并且并不总是可靠的,因为必须使用试探法。那么,是否有任何编译器故意在可执行文件中插入某种“水印”?我猜是否有,

c++ - 第三方C++库,在哪里安装?

我即将开始一个应该是跨平台的项目。代码已经在MacOSX上运行,我已经承担了为Windows和Linux编写新GUI的任务。我曾考虑从Windows入手,但后来遇到了一些问题。我需要一些第三方C++库,但我不确定应该如何设置VC++解决方案。更具体地说,我可以假设第三方库安装在哪里?Windows上是否有标准文件夹,我可以在其中安装库?或者最好包含一个自定义构建脚本,该脚本从网络上获取所需的库,然后提取到我选择的文件夹中,例如:[gitrepository][vc++solutionfiles][externallibs]bin/*.dllinclude/*.hlib/*.lib[no

c++ - 包括来自 C++ 的 C-DLL

这感觉像是一个菜鸟问题,所以如果是骗人的,请指出正确的位置:)我尝试将用C编写的DLL包含到C++程序中。它没有用;gcc说test.cpp:xxx:error:toomanyargumentstofunction.这是一个最小的工作示例:DLL函数的包装器:/*myWrapper.h*/#ifndef_MYWRAPPER_H#define_MYWRAPPER_H#include#ifdef__cplusplusextern"C"{#endifexternFARPROCEXPORTED_functionNameP;intGetDLLpointers();#ifdef__cplusplu

c++ - 当 "required"运行时库不存在时显示(自定义)错误?

我一直在VisualStudio2012中制作一个程序,随之而来的是当我将我的应用程序发送给某人时,他们需要VS2012运行时,有时他们不知道在哪里下载或他们需要什么(对于普通用户来说,“xxx.dllismissing”是非常具有误导性的。我确切地知道我的应用程序需要哪些依赖项(fantom.dll[LegoMindstorms东西]和VC++2012Redist)。我想在应用程序启动时缺少这些库时显示一个对话框,并为用户提供这些库的下载链接。这有可能实现吗? 最佳答案 是的,你可以这样做:将二进制文件中的所有代码移动到一个DLL

c - 如何在 Windows 7 X64 SP1(x64 模式)下执行直接系统调用?

我试图模拟syscall指令在Windows7X64(SP1)上的工作方式,因此我使用MinGW64编写了一个64位GCC示例。据我所知,对于Windows,所有系统调用入口点都在ntdll.dll或ntdll32.dll中(在这种情况下,我们只关心ntdll.dll)。Status=NtCreateFile(&FileHandle,//returnedfilehandle(GENERIC_WRITE|SYNCHRONIZE),//desiredaccess&ObjectAttributes,//ptrtoobjectattributes&Iosb,//ptrtoI/Ostatusbl

c++ - 如何为 native Windows(而不是 X Windows)编译 gtk+ 应用程序?

我已经设法用cygwin编译了一个gtk+应用程序,但不幸的是,使用这种方法,应用程序需要运行x个窗Eloquent能启动。如何编译我的gtk+应用程序以在Windows上本地运行。我在网上看到过各种关于将-mno-cygwin标志用于gcc的帖子,但它似乎已被弃用?我也在stackoverflow上看到了这些帖子,但不清楚他们是在尝试为X编译还是为Windowsnative编译:Installinggtkandcompilingusinggccunderwindows?CompilingGTK+applicationsonwindows? 最佳答案

编译器忽略#define _GNU_SOURCE

我的母语不是英语,所以请原谅任何拼写或语法错误我不是编译专家,对构建及其错误也没有任何有用的经验我是C#程序员,主要在MS环境中工作我只知道3个“必须知道才能在Linux命令中生存”“./configure、make&makeinstall”来self的Linux小经验我的开发环境我使用的是Windows7工作站用Cygwin和MinGW(作为Linux的“替代品”)进行编译。问题我想在主要为Linux发行版编写的Windows上编译C源代码。/配置工作没有问题。如果我使用命令ma​​ke编译源代码,我会遇到以下错误:Errorgrib_keys.c:50:34:error:'alph

c - Windows 上带有 DLL 的动态模块

我正在用C编写一个应用程序,它可以在运行时通过模块/共享对象/DLL进行扩展。这些模块可能会使用现有程序的API,但也可能会提供新功能供以后加载的模块使用,因此模块之间存在相互依赖的可能性。我目前在Linux下的做法是让每个模块都定义一个depends()函数,该函数返回它所依赖的其他模块名称的列表。这样,我就可以自行编译和链接每个模块,使用dlopen()和RTLD_LAZY加载模块,首先解决其依赖关系,然后使用RTLD_GLOBAL完全加载它。这工作得很好并且完全符合我的要求。它还允许我用不同版本替换一个模块,而无需重新编译依赖它的所有其他模块。将其移植到Windows时会出现实际

c++ - 免费数值库、C++、Windows

我对数学/数值分析编程完全陌生,我在互联网上到处寻找合适的库。我偶然发现的是CLAPACK、Boost::uBLAS、ATLAS。我需要求解SLE(线性方程组),所以我猜如果没有LAPACK的一些实现,BLAS本身是不够的。他们似乎都没有简单直观的方式在Windows平台上工作。有什么建议吗?IntelMKL看起来很诱人,但我不能买它,因为它是一个学术项目。据我所知,最好的方法是使用Cygwin并为我的系统编译ATLAS并使用LAPACK扩展。提前感谢您的任何想法。编辑我决定有一天在Linux下使用Eigen并试用IntelMKL。此外,这似乎是对可能选项的一个很好的简要概述http: