小编Lod*_*dle的帖子

何时使用虚拟析构函数?

我对大多数OO理论有了深刻的理解,但让我困惑的一件事是虚拟析构函数.

我认为无论什么以及链中的每个对象,析构函数总是会被调用.

你什么时候打算让它们成为虚拟的?为什么?

c++ polymorphism shared-ptr virtual-destructor

1420
推荐指数
13
解决办法
66万
查看次数

TortoiseSVN图标未显示在Windows 7下

我似乎无法在Windows 7下显示图标,我真的很想念Windows XP.

怎么修好?

svn windows tortoisesvn icons

469
推荐指数
14
解决办法
40万
查看次数

如何强制makefile重建目标

我有一个生成的makefile,然后调用另一个makefile.由于这个makefile调用更多makefile来完成工作,因此它并没有真正改变.因此,它一直认为项目是建立和最新的.

dnetdev11 ~ # make
make: `release' is up to date.
Run Code Online (Sandbox Code Playgroud)

如何强制makefile重建目标?

clean = $(MAKE) -f ~/xxx/xxx_compile.workspace.mak clean


build = svn up ~/xxx                                                       \
        $(clean)                                                                \
        ~/cbp2mak/cbp2mak -C ~/xxx ~/xxx/xxx_compile.workspace        \
        $(MAKE) -f ~/xxx/xxx_compile.workspace.mak $(1)                    \


release:
        $(build )

debug:
        $(build DEBUG=1)

clean:
        $(clean)

install:
        cp ~/xxx/source/xxx_utility/release/xxx_util /usr/local/bin
        cp ~/xxx/source/xxx_utility/release/xxxcore.so /usr/local/lib
Run Code Online (Sandbox Code Playgroud)

注意:删除名称以保护无辜者

编辑:最终修正版:

clean = $(MAKE) -f xxx_compile.workspace.mak clean;


build = svn up;                                         \
        $(clean)                                        \
        ./cbp2mak/cbp2mak -C . xxx_compile.workspace;   \
        $(MAKE) -f xxx_compile.workspace.mak    $(1);   \


.PHONY: release debug clean …
Run Code Online (Sandbox Code Playgroud)

linux makefile

159
推荐指数
9
解决办法
17万
查看次数

覆盖3D全屏应用程序

我想在第三方全屏Windows应用程序上显示一些自定义图形.

你玩过任何Steam游戏吗?它有一个可执行的GameOverlayUI.exe,可以让你从游戏中访问Steam窗口.(GUI元素看起来是自定义绘制的,我不知道这是否是必要的;但它们在游戏中看起来与在桌面上看起来完全相同.)它甚至可以在游戏图形中"黯淡"的背景.

我想知道如何编写这样的应用程序.

我也想知道解决方案的范围有多广.你能为所有OpenGL应用程序使用一种方法吗?对于所有Direct3D减去DirectDraw应用程序?对于所有全屏Windows应用程序?

我正在寻找更多"现代"和通用的解决方案 - 覆盖命令提示符或320x240索引颜色应用程序不是一个问题.

编辑:一些澄清:全屏应用程序不是我的.它可以是任何东西.最有可能的是,它将是一款3D游戏.我希望在游戏图形的顶部显示屏幕右下角的数字时钟.如果可能的话,我想避免诸如注入代码或调试进程之类的技巧.

windows opengl directx overlay fullscreen

42
推荐指数
2
解决办法
3万
查看次数

如何使用FILE*写入内存缓冲区?

有没有办法将内存缓冲区创建为FILE*.在TiXml中它可以将xml打印到FILE*但我似乎无法将其打印到内存缓冲区.

c c++

39
推荐指数
5
解决办法
4万
查看次数

适用于Visual Studio 2010(Minimap)的Rockscroll或Metalscroll

是否有人为Visual Studio 2010 找到了RockscrollMetalscroll的替代品?

我非常想念它,所以我想要制作一个我的自己,但只有突出显示工作的单词和一个占位符滚动条,似乎比我想象的要难得多.如果有人有兴趣帮助我,我很乐意与大家分享.

plugins visual-studio-2010 visual-studio

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

强制visual studio链接lib文件中的所有符号

有没有办法强制visual studio将lib文件中的所有符号链接到dll中,因为它正在优化程序在运行时使用dll所需的"未使用"函数.

我尝试使用/ OPT:NOREF和/ OPT:NOICF,但它们似乎不起作用.

我需要它们的原因是因为它们是全局类,它们用控制器注册它们并且它们没有在dll中链接.

c++ linker visual-studio

23
推荐指数
2
解决办法
1万
查看次数

在Windows中更改提升线程优先级

我试图改变提升中的线程优先级,但我没有运气.我从GetLastError函数得到一个错误的句柄错误(类型6).我虽然native_handle()返回了线程的句柄?

有人知道怎么做吗?

void baseThread::applyPriority(uint8 priority)
{

#ifdef WIN32
    if (!m_pThread)
        return;

    BOOL res;
    HANDLE th = m_pThread->native_handle();

    switch (priority)
    {
    case REALTIME   : res = SetPriorityClass(th, REALTIME_PRIORITY_CLASS);      break;
    case HIGH       : res = SetPriorityClass(th, HIGH_PRIORITY_CLASS);          break;
    case ABOVE_NORMAL   : res = SetPriorityClass(th, ABOVE_NORMAL_PRIORITY_CLASS);  break;
    case NORMAL     : res = SetPriorityClass(th, NORMAL_PRIORITY_CLASS);            break;
    case BELOW_NORMAL   : res = SetPriorityClass(th, BELOW_NORMAL_PRIORITY_CLASS);  break;
    case IDLE       : res = SetPriorityClass(th, IDLE_PRIORITY_CLASS);          break;
    }

    if (res == FALSE)
    {
        int err = GetLastError();
    }

#endif …
Run Code Online (Sandbox Code Playgroud)

c++ windows winapi multithreading boost

23
推荐指数
1
解决办法
1万
查看次数

如何更改nsis快捷方式的路径起点?

我有一个nsis安装程序脚本为我正在工作的应用程序,它可以在桌面和开始菜单文件夹中放置一个快捷方式,但每个快捷方式在路径中有错误的开始,因此该应用程序将数据文件保存到快捷方式的位置.

是否有一种简单的方法可以改变路径的起点,因为文档对此事的帮助不大?

Section "Desktop Shortcut" SHORTCUT
    SetOutPath "$DESKTOP"
    CreateShortcut "${FULL_APP_NAME}.lnk" "$INSTDIR\${APP_NAME}.exe" "" "$ICONDIR\${DESKICO}"
SectionEnd
Run Code Online (Sandbox Code Playgroud)

windows installer nsis

17
推荐指数
2
解决办法
8469
查看次数

编译器错误:带有可能不安全的参数的函数调用

得到了一些不是我的代码并且它产生了这个警告atm:

iehtmlwin.cpp(264) : warning C4996: 'std::basic_string<_Elem,_Traits,_Ax>::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]
        c:\program files (x86)\microsoft visual studio 8\vc\include\xstring(1680) : see declaration of 'std::basic_string<_Elem,_Traits,_Ax>::copy'
        with
        [
            _Elem=char,
            _Traits=std::char_traits<char>,
            _Ax=std::allocator<char>
        ]
Run Code Online (Sandbox Code Playgroud)

这是有问题的代码:

HRESULT STDMETHODCALLTYPE Read(void __RPC_FAR *pv, ULONG cb, ULONG __RPC_FAR *pcbRead)
    { …
Run Code Online (Sandbox Code Playgroud)

c++ windows warnings visual-studio-2005

15
推荐指数
2
解决办法
2万
查看次数