Tag: c

基准C ++与Java,不切实际的结果

我做了一个简单的测试,我知道C ++更快但我的测试结果不切实际。 C ++代码是: #include #include unsigned long long s(unsigned long long n) { unsigned long long s = 0; for (unsigned long long i = 0; i < n; i++) s += i; return s; } int main() { LARGE_INTEGER freq, start, end; QueryPerformanceFrequency(&freq); QueryPerformanceCounter(&start); printf("%llu\n", s(1000000000)); QueryPerformanceCounter(&end); double d = (double) (end.QuadPart – […]

某些语言是否允许负模数?

我很好奇这些语言(Java,C …)忽略了模数运算的数学定义。 在模块操作中返回负值的意义是什么(根据定义,它应该总是返回正数)?

面向对象的代码,采用非面向对象的语言

这句话是真的吗? 编写面向对象的代码,即使是非面向对象的语言。 任何人都可以举个例子..或提供一些链接……

一些有用的网站,包含C ++和Java示例?

有人可以用C ++和(或)Java代码的程序示例发布一些很好的链接吗?

Float vs Double

是否存在两个浮点值之间的比较( equals() )如果将它们比较为DOUBLE则返回false但如果将它们作为FLOAT进行比较则返回true情况? 作为我的小组项目的一部分,我正在编写一些程序来比较任何给定类型的两个数值。 我必须处理4种类型: double , float , int和long 。 所以我想将double和float成一个函数,也就是说,我只是将任何float为double并进行比较。 这会导致任何不正确的结果吗? 谢谢。

围绕返回值的括号 – 为什么?

我常常看到这样的代码(C,C ++,有时候是Java): return (value); 我认为这些括号没有任何好处。 所以我的问题是,如果程序员假设return某种函数并将返回值作为参数,或者是否真的存在这些括号有意义的情况? 我知道这里已经提出了类似的问题,但这只与ANSI C有关。 我想知道是否有特定于C ++或Java的方面尚未得到解答。

在Android Java应用程序中使用OpenCV Mat。 OpenCV Mat的NoClassDefFound错误

我正在用java开发一个Android应用程序,它调用本机c库中的函数。 本机函数需要一个指向Opencv Mat类型的指针,因此我需要能够在我的Java应用程序中创建Opencv Mat类型以传递给本机库。 我正在使用Android Studio,我已将’opencv library’.jar文件添加到我项目的libs文件夹中。 所以我可以导入所需的Opencv模块并创建Opencv Mat类型/访问其function。 问题是在运行时我收到以下错误: java.lang.NoClassDefFoundError: org.opencv.core.Mat 我已经读过Opencv .jar文件只是本机function的包装器,应用程序需要“本机库”。 我如何找到/添加这个? 我需要将哪些内容添加到项目中,以便Application可以在运行时找到Opencv Mat类定义? 我只想使用OpenCV Mat类型而不是其他任何东西。 我已经阅读了有关设置OpenCV Android的教程,但这些需要在Android设备上安装OpenCV Manager应用程序,但这对我来说可能是一个问题,因为我无法访问将安装我的应用程序的设备和OpenCV Manager App不会安装在这些设备上。 相反,是否只有一个’.so’库可以添加到我的Android Studio项目中,它将与我的项目捆绑在一起,并允许应用程序在运行时找到所需的Mat类,这就是我需要的所有内容? 提前致谢。

如何在Android OpenCV中执行图像RGB规范化?

我正在尝试使用OpenCV 2.4.8 for Android执行图像规范化。 我的测试设备是三星S3。 我已经编写了如下所示的JNI函数来执行图像规范化。 我对图像规范化的定义如下: r’ is 255* r/(r+g+b) g’ is 255* g/(r+g+b) b’ is 255* b/(r+g+b) 现在我需要实现这一点。 我写了一个函数来执行此操作。 这似乎不起作用。 我对我的应用程序的其他部分充满信心(即它们没有bug)。 只有这部分会导致问题。 我可能没有正确编写此function。 请帮忙。 我还附上了我的结果截图。 如果你看一下这个图像,只有一半看起来是标准化的(但它实际上没有标准化,只是看起来那样)而另一半看不到。 为了解决这个问题,我尝试在for循环中使用cols更改行,结果是相同的。 还提供了此代码。 期待一些帮助。 (仅供参考 – 我对openCV来说是全新的)。 感谢您的理解。 void NormalizeRGB(JNIEnv*, jobject, jlong img) { Mat& imgM = *(Mat*)img; vector rgb; int cols = imgM.cols; int rows = imgM.rows; […]

android加载库失败

当我使用System.loadLibrary()加载我的so文件时,很少,它失败了,而Logcat说 Cannot load library: reloc_library[1286]: 121 cannot locate ‘__cxa_atexit’ java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1285]: 169 cannot locate ‘__cxa_atexit’… at java.lang.Runtime.loadLibrary(Runtime.java:370) at java.lang.System.loadLibrary(System.java:535) 在搜索互联网后,我没有找到任何有关的信息 cannot locate ‘__cxa_atexit’ (尤其是关键词__cxa_atexit)。 为什么找不到这个function? 这个函数似乎在libc.so中。 我不在我的本机代码中使用C ++,只有C.我的NDK版本是android-ndk-r10e。 我认为“找不到__cxa_atexit”可能是一个相对的线索。 大多数时候(也许数十亿的app开始),它可以很好地工作,但很少像上面那样崩溃。 换句话说,我不能让它在我的测试手机上崩溃,但是,它会在某些用户身上很少崩溃。 此问题可能与另一个问题相同。 UPDATE 这次崩溃发生的大多数手机都是android 4.0.3和android 4.0.4。 这两个版本都是API-15。 UPDATE 在阅读了一些Android的源代码后,我发现这个问题可能与dlopen有关。 错误消息“无法加载库:reloc_library …”来自在运行时被劫持的函数dlopen。 跟踪是运行时dlopen – > find_library – > init_library – > link_image – […]

在Java中加密字符串并在C ++中解密它。 我还需要做些什么?

我需要在Java中加密一个字符串并用C ++解密它。 我见过C ++有一个Crypto ++库,Java有JCE。 对于c ++,我参考这个页面 http://social.msdn.microsoft.com/Forums/ko-KR/bd1722e7-07b3-4119-b7de-10788f9f6e36/aes-string-encryption-in-c?forum=windowsmobiledev 结果是不同的。 在java abcd1234 7e77643ca7d46d46298be3239f1a5cdb abcd1234 在c ++奇怪的人物…… 我该怎么办?