问题列表 - 第1689页

如何检测无符号整数乘法溢出?

我在C++编写一个程序来找到所有的解决方案b = c ^,其中一个,bc ^一起使用所有的数字0-9只出现一次.该方案在循环值b,并且在每次跑了数字计数程序,b一个b以检查是否数字的条件感到满意.

然而,当可以产生伪解一个b溢出整数限制.我最终使用以下代码检查:

unsigned long b, c, c_test;
...
c_test=c*b;         // Possible overflow
if (c_test/b != c) {/* There has been an overflow*/}
else c=c_test;      // No overflow
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来测试溢出?我知道有些芯片有一个内部标志,当溢出发生时会设置,但我从未见过通过C或C++访问它.


请注意,在C和C++中,签名 int溢出是未定义的行为,因此您必须在不实际导致它的情况下检测它.有关添加前的signed int overflow,请参阅在C/C++中检测带符号的溢出

c c++ integer-overflow

593
推荐指数
19
解决办法
30万
查看次数

使用C在终端运行应用程序中打印旋转光标

如何在使用标准C的终端中运行的实用程序中打印旋转光标?

我正在寻找打印的东西:\ |/ - 在屏幕上的相同位置一遍又一遍?

谢谢

c printf

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

如何回滚ClickOnce应用程序?

有没有办法(hacky会这样做)允许用户返回以前版本的ClickOnce网络部署的应用程序?

我查看了文档和API,似乎没有办法.您可以有选择地选择是否要更新,但一旦更新,似乎就没有办法了.

clickonce

49
推荐指数
4
解决办法
3万
查看次数

最好的CSS色轮网站

您为推荐网站设计的免费颜色推荐了哪些网站?输入十六进制或RGB值并使色轮向后吐出互补色也是有益的.

最受欢迎:

其他按字母顺序排列:

css color-scheme colors styling

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

Visual Studio 2008 - 我可以更改默认选择的"添加引用"选项卡吗?

每次启动Visual Studio时,第一次单击"添加引用"以向项目添加DLL引用时,默认情况下,将选中该对话框上的.NET选项卡.正如大多数阅读此内容的人可能已经注意到的那样,要填写完整的.NET组件列表,可能需要很长时间 - 通常超过30秒.

但是,由于我们设计解决方案的方式,大约80%的时间,我想从"项目"选项卡或"浏览"选项卡中进行选择.

Visual Studio中是否有任何设置可以让"Projects"成为第一个加载的选项卡?有没有人知道任何其他隐藏的技巧来达到同样的效果?

configuration visual-studio

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

C++:在Windows上使用C++读取和写入BMP文件的最简单方法是什么?

我想加载一个BMP文件,在内存中对它进行一些操作,并在Windows上使用C++输出一个新的BMP文件(Win32 native).我知道ImageMagick和它的C++绑定Magick ++,但我认为这对于这个项目来说太过分了,因为我目前对其他文件格式或平台不感兴趣.

在读取和写入BMP文件的代码设置方面,最简单的方法是什么?答案可能是"只使用Magick ++,这是最简单的."

相关问题:什么是最好的图像处理库?

c++ windows winapi image-manipulation bmp

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

在C代码中使用C++库

我有一个C++库,提供各种用于管理数据的类.我有库的源代码.

我想扩展C++ API以支持C函数调用,以便库可以同时与C代码和C++代码一起使用.

我正在使用GNU工具链(gcc,glibc等),因此语言和体系结构支持不是问题.

有什么理由说明技术上不可能吗?

是否有任何疑难杂症的,我需要注意?

是否有关于此的资源,示例代码和/或文档?


我发现的其他一些事情:

  1. 使用以下命令包装C代码需要使用的C++标头.

#ifdef __cplusplus
extern "C" {  
#endif  
//  
// Code goes here ...  
//  
#ifdef __cplusplus  
} // extern "C"  
#endif
Run Code Online (Sandbox Code Playgroud)
  1. 将"真正的"C++接口保存在C未包含的单独头文件中.在此处考虑PIMPL原理.使用#ifndef __cplusplus #error东西可以帮助检测任何疯狂.
  2. 小心C++标识符作为C代码中的名称
  3. 在C和C++编译器之间大小不一的枚举.如果您使用GNU工具链可能不是问题,但仍然要小心.
  4. 对于结构体,请遵循以下形式,以便C不会混淆.

    typedef struct X { ... } X
    
    Run Code Online (Sandbox Code Playgroud)
  5. 然后使用指针传递C++对象,它们只需要在C中声明为struct X,其中X是C++对象.

所有这一切都是由一位C++精灵的朋友提供的.

c c++ gcc glibc

97
推荐指数
3
解决办法
8万
查看次数

使用Eclipse打开命令提示符

我是Java的新手,我正在尝试使用Eclipse运行程序.但我不知道如何使用Eclipse运行命令提示符...

我做了一些在线研究,无法得到任何巩固!

更新:

我没有使用applet.这是一个普通的Java程序,试图从命令提示符读取一行.我正在尝试进行系统编程.

java eclipse

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

Hibernate删除级联

我有一个实体[项目],其中包含其他实体[问题]的集合.

我已经将关系映射到了"all-delete-orphan"的级联属性.

在我的数据库中,关系映射到问题表上的project_id(FK)字段.此字段不能为空,因为我不想要没有项目的问题.

当我执行session.delete(项目)时,它会抛出一个异常,说project_id不能为null,但如果我删除了对该字段的非null约束,则删除效果很好.

谁知道如何解决这个问题?

java hibernate cascade

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

Visual Studio 2008崩溃可怕

这已经发生在我身上3次,我想知道是否有人遇到同样的问题.我正在运行Visual Studio 2008 SP1,并点击SQL Server 2005开发人员版.

为了测试,我使用服务器资源管理器浏览我已经创建的数据库.为了测试,我将手动插入数据(右键单击表 - >显示表数据).

我可以这样做一个星期没有问题,但有时我的电脑会在星星对齐时崩溃.它没有挂起,它没有蓝屏,我看到bios引导屏幕.2秒后我在一个尚未保存的新行中输入一些值.我从来没有见过像这样的崩溃,它会立即重新启动.我认为当我输入违反数据库约束的东西时可能会发生这种情况,但我还不确定(需要更多的崩溃来确定它).

有人有同样的问题吗?知道解决方案吗?太糟糕了VS没有用托管代码编写,是吗?:)

更新:我可以通过插入重复的主键,单击该行,在数据库错误通知上单击"确定",然后再次尝试更新主键来重现它.我同意 - 这肯定听起来像硬件或驱动程序问题,但我不确定如何解决这个问题,因为这只发生在VS中做这件事时.我也没有超频 - 我正在运行普通(单核)3 Ghz戴尔.

c# sql-server ide visual-studio-2008 visual-studio

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