Tag: adt

结构中的枚举; 新手在交流

我想知道在struct中使用enum的语法( 在C ) 我已经看过各种例子,其中使用struct + union / enum组合来创建复杂类型,例如: struct MyStruct{ enum{ TYPE_1, TYPE_2, TYPE_3, } type; union{ int value_1; int value_2; int value_3; } value; }; // … struct MyStruct test_struct; 无论如何,从这个例子中,我如何根据enum字段存储/测试当前的“类型”? 如果我有一个指向test_struct的指针,这似乎不起作用; 踢回未知成员错误: struct MyStruct *test_pointer = &test_struct; test_pointer->value = test_pointer->VALUE_1; 我只是好奇,我需要将enum值作为全局值来访问吗? test_pointer->value = VALUE_1; 任何澄清将不胜感激。

使用Android NDK和C文件,Eclipse ADT“无法解决”

我的NDK项目的Eclipse索引器出了问题。 那里有很多类似的线程,但似乎都没有触及相同的问题来源。 我有一个OpenGL ES应用程序,我需要移植到Android上纯粹用C编写,我想作为NativeActivity运行,最好没有附加Java。 在经过大量重写后,代码使用ndk-build编译得很好,但是从IDE中出现了很多错误,例如Type ‘GLfloat’ could not be resolved 。 一个APK生成,我可以用adb和all安装它,但我希望能够使用IDE,特别是用于调试。 如果我在上下文菜单中为#include 这样的行选择’Open Declaration’,那么Eclipse能够显示该文件,我看到GLfloat定义在那里,但是当我将#include hover在任何东西上时我都没有信息在那个文件中所以我猜索引器只是以某种方式跳过它? 不在Android NDK目录中的头文件被编入索引就好了,例如jni文件夹和jni/png等子文件夹中的文件。 我在C/C++ Build -> Environment下定义了NDKROOT根,这是一个具有本机function并使用CDT视图的项目。 我注意到的一件事是,当我最初设置项目时,我有一个.cpp文件,索引器提供Android NDK信息没有问题,但是一旦我将其更改为.c ,错误就开始出现了。 我的印象是Android NDK是与C一起使用的,只有基本的C ++支持,但在样本中查看,我只看到一堆.cpp文件,所以我很困惑。 我已经尝试在我的Android.mk设置LOCAL_CPP_EXTENSION += .c但是这会导致Eclipse在构建期间挂起。 我还没有尝试过的最后一件事就是重命名所有文件,以便用C ++编译器编译,但我不明白为什么这应该是必要的,我有一些第三方库,比如zlib包括来源,我是而不是小提琴。 Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) define all-cpp-files-under $(patsubst ./%, %, \ $(shell cd $(LOCAL_PATH) ; \ find $(1) -name “*.c” […]