`
文章列表
对于习惯eclipse的人来说,开发ndk的话,还是用eclipse的cdt最顺手。但网上关于cdt的详细使用的介绍太少了,第一次开发cocos2d时,搭建cocos2d的环境也花了好长时间,现在也在慢慢的摸索cdt的一些细节设置和功能,发现cdt整体还行吧,就是bug偏多,而且调试功能感觉有点弱,现在基本只能使用log来调试c++。 下面上图,介绍暂时比较熟悉的cdt功能。 整体设置: cdt部分的外观设置 build部分设置 eclipse可以设置自己的环境变量,eclipse开启后这些环境变量就生效,同时不会影响系统的环境变量, 代码静态分析功能,在编译前就分 ...
A.h文件 #ifndef _A_H_ #define _A_H_ #include"B.h" static int count=0; class A { public: void fun1(); }; #endif B.h文件 #ifndef _B_H_ #define _B_H_ class A; //注意:这里是C++类的前向声明,没有用include“A.h”把对方加进来是考虑到了没有必要,因为最终两个类是要编译到一块 class B { public: void fun2(); ...
**** Build of configuration Default for project _bai_yin **** sh ndk-build Error: Cannot run program "sh": Launching failed 【错误原因】eclipse的adt插件的ndk路径还没有设置,设置一下就ok了
[size=medium] (1):返回临时变量的引用。 std::string & getString() { std::string str("text"); return str; } getString()返回时, str也被销毁了, 所以是引用着一个已被销毁的变量. (2)函数参数上使用引用时,参数传入了NULL void print(std::string & str) { std::cout << str << '\n'; } int main(void ...
编译ndk时遇到non-numeric second argument to `wordlist' function: ''.  Stop.错误, baidu了下, 很多方法都没用, 后来看到说是AndroidManifes.xml引起的, 查看了下, 还果真是的, 之前修改这个文件时, 不小心把application破坏了, 然后在下面生成了一个空的application, 然后把这个改好就ok了. 参考链接: http://hi.baidu.com/zhuangtongquan/item/80356cb11e8c3c412bebe3cc http://hi.baidu.com/googl ...
adb除了通过usb连接外,还可以通过tcp连接建立调试,在某些定制的ROM和android 4.1或以上版本都已经内置了adb over wifi的支持。如果你的手机属于上述两种情况的话可以略过此文。 下边把需要调试的机器称为target,把adb主控端称为host,手动设置adb over wifi的过程如下: target端和host端连接到同一个路由(必须处于同一个网段),在target端安装超级终端并且能获取root权限。打开超级终端依次运行: su setprop service.adb.tcp.port 5555 stop adbd start adbd 全部完成之后运行ge ...
今天在Eclipse里面测试Android的开发。 写好的代码编译时没有问题,但是在模拟器上安装时,出现了如下的错误提示,安装不能成功。 Installing test.apk... Installation failed due to invalid APK file! Please check logcat output for more details. 上网查关于这个错误提示的原因和解决办法,查了很久都没有找到一个解决办法。 重新仔细检查了一下代码,发现我的包名前面加了一条下划线“_test”,觉得可疑,于是去掉下划线再试,安装成功了! 记录在此,以后再查具体是何原因。
由于实在没法不用QQ,当QQ哭着闹着要升级到最新版的时候,手欠的点了升级到了2013的最新版。 然后电脑连接安卓手机的时候问题来了,在控制台输入adb devices提示: adb server is out of date.  killing... ADB server didn't ACK 然后QQ很好心的提示安装它的手机管家可以方便的管理安卓手机,赶紧开打任务管理器,发现有个tadb.exe的进程,杀掉之后一切adb功能都正常了。 但是每次连接手机的时候,这个进程都很流氓的自动运行,每次都要进任务管理器杀又太麻烦。于是进 C:\Users\name\AppData\Roam ...
这个和java中的类类似, 仅仅是写法上有些区别, 以及类的默认特性上有些区别. 写法上的区别, 同时写出java和c++的类: MyClass.java public class MyClass { private char mChar; private boolean mBool; private byte mByte; priavate short mShort; private int mInt; priavate long mLong; priavate float mFloat; priava ...
c++中的字符串也是一个比较坑爹的地方, 不像java中的字符串使用起来非常的方便, 可以用难用和容易出错来形容. 难用也没办法, 字符串是编程时必须要用到的一个东西, 是不可避免的. c++中的字符串的坑爹的地方: (1)不是基础数据类型, 不像java那样有一个很好用的String类. (有人要说了, c++中不是有string类么, 不过那个string类并不是和java中的String类对等的, 他可以看作是一个动态的char数组而已). (2)字符串是用数组来表示的, 且默认字符串上不带字符串长度的属性. (java中有length()这个方法来很方便的获取字符串的长度) (3)字 ...
c++中的const和java中的final类似, 表示不可变的意思, 但java中的final仅仅用在这几个地方: (1)修饰变量, 如: public final int age; // 不可变成员 public static final int TYPE_A = 1; // 常量 (2)修饰方法, 表示方法不可被Override覆盖, 即去除方法的多态性. (3)修饰局部变量, 也是不可变. (4)修饰类, 表示类不可被继承 而c++中的const功能就多了: (1)修饰全局变量: 表示变量值不可修改 Main.cpp #include <iostream> us ...
static关键字java中也有, 是静态的意思, 在java中可以用来修饰变量和方法. 修饰变量时, 变量就成为类变量, 对于所有对象都具有相同的值; 修饰方法时, 方法就成为类方法, 不能访问成员变量. c++中的关键字也类似, 用来修饰变量和方法, 不过比java中还稍微多一些功能: (1) 修饰全局变量: 全局变量将仅在该文件内可用, 其它文件中无法访问到这个变量 (2) 修饰全局方法: 全局方法将仅在该文件内可用, 其它文件中将无法访问到这个方法 (3) 修饰局部变量: 可以将其看作static修饰的全局变量了, 只是作用范围变为局部, 和局部变量原来的作用范围相同. (4) 修饰 ...
c++中函数默认就是全局的, 变量写在函数外的话默认也是全局的. Global.cpp, 定义一个全局变量和一个全局函数 #include <iostream> using namespace std; int g_int = 10; void globalMethod() { cout << "globalMethod()" << '\n'; } 全局函数的声明需要使用extern关键字, 以告诉编译器, 这是在其它地方定义了的变量或函数. Main.cpp #include <iost ...
c++中又一个比较啃爹的就是数组了, 数组不像java那样, 带一个length属性存放数组的长度, 而是需要硬编码或者自己来计算. int array[] = {1, 2, 3, 4, 5}; int length = sizeof(array) / sizeof(int); 但是只有这种硬编码的数组才能计算长度, 对于动态创建的数组就无法用这种方式来算出其长度了. 同时, 还要注意一个陷阱: int getArrayLength(int array[]) { int length = sizeof(array) / sizeof(int); r ...
c++中的基本数据类型比较多, 且不同平台间各个类型所占的字节数还不一样, 暂时不管这些, 这边仅仅是认识c++中有哪些基本数据类型. // 常见类型 bool char wchar_t short int long float double long double // 无符号类型 unsigned short unsigned int unsigned long // 指针类型(所有的指针类型在win7 32位平台上都占用4个字节) bool * char * wchar_t * short * int * long * float * double * long double * ...
Global site tag (gtag.js) - Google Analytics