小编Mar*_*som的帖子

有没有看到没有Visual Studio的Debug输出的方法?

使用Windows API中的MFC TRACE宏或OutputDebugString,可以写入Visual Studio的输出窗口.有没有办法在没有安装Visual Studio的系统上看到此输出,并且不想安装它?

debugging visual-c++

5
推荐指数
2
解决办法
3056
查看次数

什么可能阻止DLL加载LoadLibrary?

我有一个JD Edwards业务功能,它是用Microsoft Visual C++编写的一个C模块.我正在使用LoadLibrary访问第三方DLL.在一个独立的测试程序中,代码运行得很好.当我在JDE中运行它时,LoadLibrary返回NULL并且GetLastError返回126,这意味着The specified module could not be found根据MSDN.我已经尝试放入DLL的完整路径,是的,我记得要加倍路径中的\字符.没有不同.

我已经检查过以确保没有依赖项会阻止DLL加载; DUMPBIN/DEPENDENTS返回以下内容:

WSOCK32.dll
USER32.dll
GDI32.dll
WINSPOOL.DRV
ADVAPI32.dll
KERNEL32.dll
Run Code Online (Sandbox Code Playgroud)

这些看起来像标准的Windows DLL,所以我很茫然.

dll jdedwards loadlibrary visual-c++

5
推荐指数
1
解决办法
9975
查看次数

如何从std :: locale对象获取facet?

我想获得本地语言环境的numpunct <char> facet.我可以通过构造一个带有空字符串的对象来生成本地语言环境对象std::locale native_loc(""),但是一旦我拥有它,我该如何从中获取numpunct它?我发现的文档并没有真正显示两者之间的联系.

c++ locale

5
推荐指数
1
解决办法
721
查看次数

在所有者绘制Windows列表控件背景中使用什么颜色?

我的Windows程序中有一个所有者绘制的列表控件.我使用CListCtrl :: GetBkColor来获取背景颜色,对于选定的项目,我使用GetSysColor(COLOR_HIGHLIGHT).这与Windows用于非所有者绘制列表控件的内容相匹配,除了控件没有焦点的情况 - 然后将背景替换为灰色.

Windows是否为选定但未聚焦的背景使用其中一个GetSysColor常量?如果是这样,哪一个?

c++ windows mfc

5
推荐指数
1
解决办法
1024
查看次数

当我抛出异常时,为什么我的MFC应用程序会挂起?

如果从MFC对话框中抛出异常,即使代码中有catch块,应用程序也会挂起.它拒绝响应鼠标或键盘,关闭它的唯一方法是使用任务管理器.

为什么我发布这个问题

令我遗憾的是,有一个流行的收缩包装应用程序,每次遇到模态对话框中的异常错误时都会挂起.当我们从整数错误代码大量转换到异常时,我负责选择std :: exception作为抛出异常的基类.直到大量的工作进入转换,我们的测试才发现了这个问题,到那时为时已经太晚了.希望这个问题/答案会让某人犯同样的错误.

c++ windows mfc

4
推荐指数
1
解决办法
1621
查看次数

如何使用Visual Studio 2010构建wxWidgets 2.9.1?

我有一个刚刚下载的Visual Studio C++ 2010 Express和wxWidgets 2.9.1.wx\build\msw下的build文件夹包含VC++版本6到9(2008)的解决方案文件.

我试图打开最新的解决方案,wx_vc9.sln.它用一堆警告转换了所有项目.当我尝试构建每个项目时都会收到错误:

C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(151,5):错误MSB6001:"cmd.exe"的命令行开关无效.这条道路不是合法的形式.

尝试打开以前版本的解决方案wx_vc8.sln会生成相同的转换警告和相同的构建错误.

我用Google搜索了一些提示,并找到了一个以.dsw文件开头的建议.我打开了wx.dsw,它为每个项目文件生成了一个错误:

D:\ 3rdParty\wx\build\msw\wx_wxregex.dsp:错误:项目升级失败.

终于绝望了,我尝试了nmake /f makefile.vc,又迎来了另一个错误:

NMAKE:致命错误U1077:'cl':返回代码'0xc0000135'

有人有任何提示吗?谢谢.

wxwidgets visual-studio-2010

4
推荐指数
1
解决办法
7190
查看次数

在MS SQL Server 2005中使用RAND()时我做错了什么?

我正试图从一张小桌子中随机抽取10%的样本.我以为我只是使用RAND()函数并选择随机数小于0.10的那些行:

SELECT * FROM SomeTable
WHERE SomeColumn='SomeCondition' AND
      RAND() < 0.10
Run Code Online (Sandbox Code Playgroud)

但我很快发现RAND()总是返回相同的数字!让我想起这个xkcd卡通片.

没问题,RAND函数采用种子值.我将定期运行此查询,如果我在不同的日子运行它,我希望它给出不同的结果,所以我使用日期和唯一行ID的组合来播种它:

SELECT * FROM SomeTable
WHERE SomeColumn='SomeCondition' AND
      RAND(CAST(GETDATE) AS INTEGER) + RowID) < 0.10
Run Code Online (Sandbox Code Playgroud)

我还是没有得到任何结果!当我显示RAND返回的随机数时,我发现它们都在一个狭窄的范围内.从RAND获取随机数似乎需要您使用随机种子.如果我首先有一个随机种子,我就不需要随机数!

我已经看到之前有关此问题的讨论:

SQL Server随机排序
如何在SQL中请求随机行?

他们没帮我.TABLESAMPLE在页面级别工作,这适用于大表,但不适用于小表,并且看起来它适用于WHERE子句之前.TOP with NEWID不起作用,因为我不知道我想要多少行.

任何人都有解决方案,或者至少有一个提示?

编辑:感谢AlexCuse提供适用于我的特定案例的解决方案.现在更大的问题,如何使兰德表现?

sql sql-server random

3
推荐指数
1
解决办法
3517
查看次数

特定于gcc 4.5的C++数组创建问题

以下代码适用于gcc版本2.9到4.4,但不适用于版本4.5:

 struct Pass {
 };

 int main(void){
 Pass **passes = new ( Pass (*[ 10 ]) );
 }
Run Code Online (Sandbox Code Playgroud)

gcc 4.5的具体错误消息是:

prob.cc: In function ‘int main()’:
prob.cc:6:31: warning: lambda expressions only available with -std=c++0x or -std=gnu++0x
prob.cc:6:38: error: no matching function for call to ‘Pass::Pass(void (&)())’
prob.cc:2:1: note: candidates are: Pass::Pass()
prob.cc:2:1: note:                 Pass::Pass(const Pass&)
Run Code Online (Sandbox Code Playgroud)

添加请求的标志会使初始警告无效,但不能解决问题.有人可以解释如何解决这个问题吗?这是我正在维护的一些不起眼的C++代码,我只知道有限数量的C++.

c++ gcc new-operator c++11

3
推荐指数
1
解决办法
377
查看次数

如何在Visual C++中使用UTF8Encoding

我需要将下面的c#代码更改为c ++代码.

    public static byte[] StrToByteArray(string str)
    {
        System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
        return encoding.GetBytes(str);
    }
Run Code Online (Sandbox Code Playgroud)

这个网站上,我找到了UTF8Encoding的c ++代码,我从中创建了这段代码

    void StrToByteArray(string unicodeString)
    {
        UTF8Encoding^ utf8 = gcnew UTF8Encoding;
        array<Byte>^encodedBytes = utf8->GetBytes( unicodeString );
    }
Run Code Online (Sandbox Code Playgroud)

但这给了我以下错误

错误2错误C2664:'cli :: array ^ System :: Text :: Encoding :: GetBytes(cli :: array ^)':无法将参数1从'std :: string'转换为'cli :: array

为什么它会在与文档相同的情况下执行此操作?(除了我使用普通字符串,但使用顶级字符串^给我一个错误.)

我不确定它是否相关但我的代码是管理的.

注意:我还没有担心返回任何数据,直到我得到这个工作.

c++ managed-c++ utf-8 visual-studio-2010

3
推荐指数
1
解决办法
1769
查看次数

继承构造函数是标准的一部分吗?

我今天才知道可以使用using语句继承构造函数:https://stackoverflow.com/a/20062289/5987

问题是,这是由标准规定还是某些编译器的扩展.如果它是标准的一部分,是否在C++ 11中引入?

c++ inheritance constructor c++11

3
推荐指数
1
解决办法
159
查看次数