C/C++开发

可以创建编码的动画墙纸吗?

其想法是最终拥有一个在后台运行的程序。该程序以每秒至少24像素的速度将像素绘制到桌面墙纸上。 我已经尝试使用某些dektophandles,但没有达到预期效果。此解决方案还可以在光标和图标上绘制。 建议? 推荐答案 这个铁锈箱可以换很多操作系统的墙纸: https://docs.rs/wallpaper/2.0.1/wallpaper/ 它可能不会产生您所说的性能,根 ..
发布时间:2022-09-24 22:39:45 C/C++开发

C++STL堆栈与FORWARD_LIST

我有一个用例,其中我需要以不特定的顺序存储一定数量的uint16_t变量(尽管变量的实际类型并不相关)。我已决定求助于STL来寻找最符合我需要的容器。 容器中的对象可以从容器中取出以供使用,然后放回容器中。在某种程度上,机械师可能只有一盒螺丝刀,而不是把螺丝刀放在口袋里。容器不需要对存储的对象执行任何分类,取出什么并不重要-唯一的要求是知道容器中是否还有任何东西。 我的眼睛转向std: ..
发布时间:2022-09-24 19:16:23 C/C++开发

从整型转换为长整型

最近我搜索了int、long int、long、...诸若此类。我从here得到了答案。我发现long和long int是相同的。所以这些声明 c = a *long(b); 和 c = a * long int (b) 程序中应相同 int main() { int a = 10, b = 20; long int c; c = a *l ..
发布时间:2022-09-24 14:47:38 C/C++开发

X/2和x>;>;1或x*2和x<;<;1的差异,其中x是整数

我们知道,要计算整数x/2,我们只需为x*2编写类似的y=x/2;;但优秀的程序员使用位操作来计算这一点。 他们只是y = x >> 1; 这两种方法有什么区别吗? 我所说的差异是指所需时间/空间/内存的差异,或者两者完全相同(即x/2由x>>1实现)? 与其他数字而不是2的乘除也是以相同的方式实现的(即5*5 = 10*2 + 5*1 = 10 ..
发布时间:2022-09-23 10:11:45 C/C++开发

如何在C++中按表情符号拆分字符串

我正在尝试获取一串表情符号,并将它们拆分成每个表情符号的向量 给定字符串: std::string emojis = "😀🔍🦑😁🔍🎉😂🤣"; 我正在尝试获取: std::vector splitted_emojis = {"😀", "🔍", "🦑", "😁", "🔍", "🎉", "😂", "🤣"}; 编辑 ..
发布时间:2022-09-22 09:04:53 C/C++开发

使用指向非常数的指针和指向相同地址的常量参数的指针的函数调用

我要编写一个函数,该函数使用指针输入一个数据数组并输出另一个数据数组。 我想知道,如果src和dst都指向同一个地址,结果会是什么,因为我知道编译器可以针对const进行优化。它是不是未定义的行为?(我标记了C和C++,因为我不确定它们之间的答案是否会不同,我想知道两者的情况。) void f(const char *src, char *dst) { dst[2] = src ..
发布时间:2022-09-20 20:48:10 C/C++开发

编译器如何知道C++常量计算不会触发未定义的行为?

C++标准要求编译器在C++常量计算中检查未定义的行为。 在this talk中,Chandler Carruth指出,在检查UB时“您将耗尽检测错误的能力”,而且在一般情况下,检测UB与halting problem相关,因此可以证明无法确定。 他指的不是conexpr中的UB,但conexpr计算从C++14开始就像常规程序一样通用,因此这仍然适用。 那么,当编译器无法确定程 ..
发布时间:2022-09-20 20:42:35 C/C++开发

将浮点数相乘和相加

我有一项任务是将一些C++代码转换为ASM,我想知道我的想法是否有意义。首先,我会将整数转换为浮点数。我想得到数组数据到SSE寄存器,但这里有问题,因为我只想要3而不是4个整数,有什么方法可以克服这个问题吗?然后,我将使用CVTDQ2PS将这些整数转换为浮点数,并将这些数字保存在内存中。对于像0.393这样的常量数字,我会做3个浮点数的矢量,然后我会做同样的操作三次,所以我只考虑sepiaRed。 ..
发布时间:2022-09-05 23:01:41 C/C++开发

在程序集文件内调用C++函数

这是我第一次问,所以我将在这里尽我最大的努力,但我在一项汇编任务中遇到了麻烦,在该任务中,我获得了一个.cpp文件(如下所示),并且必须创建一个包含Multiply、Square和Divide函数的.asm文件。我有一个问题,那就是在平方和乘法函数完成后,我必须调用PrintResult来显示答案。对于Divide,成功的除法返回1,不成功的除法返回0并调用PrintResult以显示失败消息。我 ..
发布时间:2022-09-05 22:45:01 C/C++开发

在MASM中调用C++函数

我正在开发一个程序,该程序将使用MASM调用一些C++函数。我在一个单独的文件中定义了对2个整数求和并显示输出。 目前,我无法让‘main.cpp’运行asmMain()从‘main.cpp’调用函数。 code.asm ; --------------------------------------- promptFirst PROTO C promptSecond ..
发布时间:2022-09-05 21:12:27 C/C++开发

循环外的语句重复c++

我尝试像编译器一样从用户的输入中读取令牌。 标记化运行良好,但在输出所有标记时,我希望在它们全部发出后换行。 以下是我的代码: #include #include #include //import for using std::getline() #include //DIGITs const std::stri ..
发布时间:2022-09-05 17:24:59 C/C++开发

为什么C++标准文件流不能更严格地遵循RAII约定?

为什么C++标准库流使用与对象生存期分离的open()/close()语义?从技术上讲,关闭销毁可能仍然会使类成为RAII类,但获取/释放独立性会在作用域中留下漏洞,其中句柄可以什么都不指向,但仍然需要运行时检查才能捕获。 为什么库设计者选择他们的方法,而不是只在引发失败的构造函数中打开? void foo() { std::ofstream ofs; ofs ..
发布时间:2022-09-05 16:52:06 C/C++开发

如何在C++中创建既处理输入又处理输出的流?

我正在尝试创建一个既是输入流又是输出流的类(如std::cout和std::cin)。我试图重载操作符>,但后来我明白了,编写这样的代码并不明智(因为这将是重写C++流的一种方法),而且当像std::basic_iostream、std::basic_ostream、std::basic_istream这样的类在C++标准库中可用时,维护是非常困难的,因为我必须为每种类型重载操作符。因此, ..
发布时间:2022-09-05 16:45:47 C/C++开发