Tag: c

使用SWIG从Java访问结构中的指针数组

我有这样的事情: typedef struct { char * content; } Boo; typedef struct { Boo **data; int size; } Foo; 我想将Boo ** data转换为带有Boo Java中Boo元素( Boo[] )的数组。 然后读取数组(我不想编辑,删除并从Java代码创建一个新数组)。 在SWIG文档中描述了如何使用carrays.i和array_functions执行此array_functions ,但struct的成员data必须是Boo*类型。 我的问题有解决方案吗? 编辑:我匆匆忙忙,我忘记写了我想用SWIG生成Java类来与C结构合作。

将jdouble转换为c类型的double

如何将java类型变量的jdouble转换为c类型的double变量?

不同语言的数组 – 存储引用或原始对象?

我试图在使用数组时围绕原始内存在不同语言中的样子。 请考虑以下Java代码: String a = “hi”; String b = “there”; String c = “everyone”; String[] array = {a, b, c}; 显然数组是持有引用 ,而不是对象; 也就是说,在三个引用的内存中存在一个连续的数组,每个引用指向对象所在的内存中的某个其他位置。 因此,物体本身不一定是坐在三个连续的桶中; 相反,参考文献是。 现在考虑一下: String[] array = {“hi”, “there”, “everyone”} 我想在这种情况下,字符串存在于内存中的所有其他常量,然后数组保存对内存中这些常量的引用? 所以,再次,在原始内存中,数组看起来不像[‘h’, ‘i’, ‘\0’, ‘t’, ‘h’, ‘e’, ‘r’, ‘e’… (etc)] 。 (为方便起见,使用c式终止)。 相反,它更像是[‘a83a3edf’ ,’a38decd’ … (etc)] ,其中每个元素都是一个内存位置(引用)。 我在这个思考过程中得出的结论是,在Java中,你永远不能将数组想象成内存中连续对象的桶,而是连续的引用。 我想不出有什么方法可以保证对象总是在Java中连续存储。 现在考虑C: char *a = […]

C中的埃及分数

古埃及人只使用1/nforms的分数,因此任何其他分数必须表示为这些单位分数的总和,而且,所有单位分数都不同! 在C或java中使任何分数成为埃及分数(越少越好)的好方法是什么,可以使用什么算法,分支和绑定,a *? 例如: 3/4 = 1/2 + 1/4 6/7 = 1/2 + 1/3 + 1/42

顺序一致性和primefaces性之间有什么区别?

我读到java volatile是顺序一致但不是primefaces的。 对于atomicity java提供了不同的库。 有人可以用简单的英语解释两者之间的差异吗? (我相信问题范围包括C / C ++,因此添加这些语言标签以吸引更多的观众。)

C ++来自Java和Objective-C

所以,我非常了解Java和Objective-C,但(可能很奇怪)从未真正学过C ++。 显然,这些语言都是相关的,但有些语法差异我并不完全理解。 是否有一个很好的文档描述了C ++的基础知识,但仍然假设学习者知道一种编程语言? 甚至可能是一个旨在描述语言之间差异的教程。 这就是我要找的东西。 另外,有没有关于如何在Mac或iOS应用程序中使用C ++代码的好教程? 我觉得需要学习C ++的原因是我正在尝试移植C ++程序,我听说你可以使用C ++代码并将其包装在Obj-C GUI中。 有人能指点我一些关于如何做到这一点的文档/教程吗? 谢谢!

OOP术语:“容器”和“collections”

C ++术语“容器”只是Java术语“Collection”的同义词吗?

什么是资格意味着什么?

在阅读关于编程的文章,手册等时,我总是遇到qualified的词。 就像在java中一样,完全限定的类名是com.example.Class。 阅读本文,将C ++中的范围解析operator ::定义为用于限定隐藏名称,以便您仍然可以使用它们。 这有定义吗? 因为它似乎每次都在不同的环境中使用。

从Java / C#到C ++的最佳方法是什么?

在我的大学,我的大部分课程都是用Java编写的。 我最近还在夏季实习期间学习了C#(以及Visual Studio环境)。 现在我正在参加计算机图形学课程的介绍,教授课程的研究生更喜欢我们使用C ++通过GLUT访问OpenGL绑定。 有没有人有关于如何从Java / C#转换到C ++的良好资源? 很明显,指针将是一个大问题,但我应该注意的任何其他事情? 任何教程,指南等都会非常有用! 谢谢!

为什么这是真的?

这是IEEE 754标准问题。 我不完全理解它背后的机制。 public class Gray { public static void main(String[] args){ System.out.println( (float) (2000000000) == (float) (2000000000 + 50)); } }