小编Fel*_*bek的帖子

C++链接器如何知道哪个.lib包含哪些函数?

例如在Boost中.我将MSVC++ 2010中的include目录设置为Boost根目录,并#include <boost/regex.hpp>在我的源代码中有一个.我设置了一个目录,boost\stage\lib但其中有数百个文件 - 每个Boost库有几个文件,这些文件用于boost :: regex:

libboost_regex-vc100-s-1_46.lib
libboost_regex-vc100-mt-gd-1_46.lib
libboost_regex-vc100-mt-1_46.lib
libboost_regex-vc100-mt-s-1_46.lib
libboost_regex-vc100-mt-s.lib
libboost_regex-vc100-s.lib
libboost_regex-vc100-mt.lib
libboost_regex-vc100-mt-gd.lib

MSVC如何知道哪个lib文件是正确的?如果它扫描所有这些函数以获得正确的函数签名,这是否意味着从两个不同的源(彼此没有链接)编译的2个不同的lib碰巧定义了具有相同名称和参数的函数,不能在一个lib文件夹中?

它是如何知道在所有不同的正则表达式.lib中哪个是正确的?然后,每个文件1_46中的文件似乎与相应的文件相同,我可以安全地删除其中一个吗?

c++ linker boost

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

用于将函数应用于连续元素的C++算法

有没有更简单的方法来编写它,例如使用STL或boost算法?

std::vector<int> v { 0, 1, 2, 3 }; // any generic STL container
std::vector<int> result;
std::transform(v.begin(), v.end() - 1, // (0, 1, 2)
               v.begin() + 1,          // (1, 2, 3)
               std::back_inserter(result),
               [](int a, int b){ return a + b; }); // any binary function
// result == { 1, 3, 5 }
Run Code Online (Sandbox Code Playgroud)

c++ algorithm boost stl

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

如何在Visual Studio 2010中查看C++函数的已编译机器代码或字节代码?

查看编译器从我的文件生成的代码的最佳(最快)方法是什么?我主要使用的是C++,但是也适用于.NET语言的解决方案.

.net c++ visual-studio-2010 .net-assembly visual-c++

14
推荐指数
2
解决办法
4255
查看次数

C++在控制台上更改输出

在控制台中显示更改数字的最简单方法是什么?我有一个正常的C++命令行程序使用cout,但是我想显示一个代表进度的百分比数字,在没有打印新行的情况下计算到100.怎么做的?(如果重要:我在Windows 7上)感谢您的回答!

c++ console

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

Visual Studio 2010可以自动将已编译的文件复制到另一个目录吗?

我有两个项目,一个编译为EXE的VB6项目和一个编译为DLL的MSVC++ 2010项目.DLL需要与EXE文件位于同一文件夹才能工作.我可以让Visual Studio 2010在编译后自动将编译的DLL复制到VB6项目文件夹吗?

copy compilation visual-studio-2010 visual-studio

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

在MSVC++ 2010中禁用警告

我有以下代码:

/** Stupidly copies unicode chars into normal chars. */
std::string wstring2string(__in  const std::wstring& s)
{
    std::string temp(s.length(), ' ');
#pragma warning(push)
#pragma warning(disable: 4244) // possible loss of data
    std::copy(s.begin(), s.end(), temp.begin());
#pragma warning(pop)
    return temp;
}
Run Code Online (Sandbox Code Playgroud)

我的编译器仍然向我显示警告C4244:

1>c:\program files\microsoft visual studio 10.0\vc\include\xutility(2144): warning C4244: '=': Konvertierung von 'const wchar_t' in 'char', möglicher Datenverlust
1>          c:\program files\microsoft visual studio 10.0\vc\include\xutility(2165): Siehe Verweis auf die Instanziierung der gerade kompilierten Funktions-template "_OutIt std::_Copy_impl<_InIt,_OutIt>(_InIt,_InIt,_OutIt,std::_Nonscalar_ptr_iterator_tag)".
Run Code Online (Sandbox Code Playgroud)

(英文:"转换const wchar_tchar,可能丢失数据,请参阅刚编译的函数模板的实例化参考..."). …

c++ warnings visual-studio-2010 visual-c++

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

Windows 10上的本机C++应用程序的自定义标题栏颜色

据称,Windows 10可让开发人员自由更改自己的标题栏颜色.我找到了一些关于如何为Windows应用商店应用程序执行此操作的资源(此处,此处).

但它的底层Windows API功能是什么?如何在本机C++中实现这种效果?

c++ winapi titlebar windows-10

9
推荐指数
1
解决办法
2262
查看次数

多声明中的第二个int是否始终设置为1?

这篇Code Golf帖子中,声称"定义中的第二个变量始终设置为1",这使得它成为一个格式良好的行:

int i=-1,c,o,w,b,e=b=w=o=c;
Run Code Online (Sandbox Code Playgroud)

据说除了i设置为1 之外的所有内容c都是自动1.

我以为我知道一些C,并认为这是非法的(是UB,如果有任何随机堆栈内容的结果).

C真的设置c为1吗?

c declaration definition undefined-behavior variable-declaration

9
推荐指数
2
解决办法
172
查看次数

如何在 ImGui 中更改输入文本的文本颜色?

我想弄清楚如何更改“名称”打印上显示的文本的颜色,但我对如何操作几乎一无所知。我想让它变成绿色,感谢帮助或提示:D

// Name
            ImGui::InputText("Name", selected_entry.name, 32);


Run Code Online (Sandbox Code Playgroud)

c++ button imgui

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

c - 整数向下转换

关于C中的整数倒数,例如

一个int值000F'E000向下转换为short或unsigned short将成为E000.
short- > -8192,
unsigned short - > 57344,

那么它只是削减了比特吗?

那些上流社会呢?例如,int -10ffffff81,要施加什么规则long long


@Update

关于upcasting,根据答案,我做了一些测试,发现有2的补码它有以下规则:

    signed:
        positive -> positive: add 0 as prefix bits,
        negative -> negative: add 1 as prefix bits,
    unsigned:
        add 0 as prefix bits,

码:

// integer numbers, downcast & upcast,
#include <stdio.h>

void downcastTest() {
    int i = 127<<13;
    printf("%X, %hX, %hi\n", i, i, i);
}

void upcastTest() {
    int i …
Run Code Online (Sandbox Code Playgroud)

c type-conversion

8
推荐指数
1
解决办法
5064
查看次数