饭中淹的避难所~~~~~

偶尔来避难的地方~

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  94 随笔 :: 0 文章 :: 257 评论 :: 0 Trackbacks

置顶随笔 #

     摘要: XSE2.0 的源代码(包含C\C++\C#示例)
XSE全名为 X Server Engine,是在IOCP基础上建立的一个网络底层库。
  阅读全文
posted @ 2011-07-18 11:23 饭中淹 阅读(3349) | 评论 (3)编辑 收藏

     摘要: PROJECT SUNSHINE 备忘录。
  阅读全文
posted @ 2011-05-19 08:11 饭中淹 阅读(477) | 评论 (0)编辑 收藏

2017年11月1日 #

按照docker-hub上的centos官方镜像里的方法,建立了带systemd的本地镜像,却无论如何都是无法正常使用systemctl来操作系统服务。
后来才发现,要用--privileged参数来提升权限,然后还要配置一个环境变量,描述容器类型为docker。
大概的命令是这样的:

 docker run --e "container=docker" --privileged=true -p 80:80 --name centos7-httpd local/centos7-
systemd-httpd

这样就可以使用带systemd的镜像,并看到httpd的测试页面了。
进入 bash,systemctl的命令也可以正常使用了。
posted @ 2017-11-01 09:28 饭中淹 阅读(10) | 评论 (0)编辑 收藏

2013年10月15日 #

     摘要: 【IO数据通道模式】  阅读全文
posted @ 2013-10-15 14:21 饭中淹 阅读(734) | 评论 (0)编辑 收藏

2012年12月30日 #

     摘要: 关于EMFILE错误以及NDK版本特性什么的牢骚。  阅读全文
posted @ 2012-12-30 18:31 饭中淹 阅读(1274) | 评论 (0)编辑 收藏

2012年12月28日 #

     摘要: Android ndk下用AssetManager读取assets的资源。  阅读全文
posted @ 2012-12-28 23:59 饭中淹 阅读(7708) | 评论 (2)编辑 收藏

2012年12月26日 #

@import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 在Android下需要用到字体光栅化,于是要用到freetype这个开源的字体光栅化的库。

因为是和ios开发放在一个机器上,所以下面的过程是在macos的控制台下进行的。


第一步:建立ndk的工具链

   ndk的工具链是用来做一些第三方库的交叉编译用的,或者是不想使用ndk-build工具的人用的。它生成时需要指定api版本,也就是说一个工具链只能针对一个特定的api版本。并且生成的工具链无法使用rtti,exception和stl。

   要生成工具链,先要配置一些路径:

   NDK_ROOT=~/Dev/android/sdk/ndk-r7-crystax
   NDK_TOOLS_PATH=~/Dev/android/sdk/ndk-tools
   XCODE_PATH=/Applications/Xcode.app/Contents/Developer

   NDK_ROOT 是ndk的路径,这里使用的是crystax修改的版本,支持宽字符和c++0x
   NDK_TOOLS_PATH 是ndk的tools chain的路径,这个目录要事先建好。
   XCODE_PATH 是xcode安装的路径,实际上是usr目录所在的Developer目录的路径。这个只有在macos上才需要。

   配置好后,执行  

      $NDK_ROOT/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=${NDK_TOOLS_PATH} --xcode=${XCODE_PATH}

   这个脚本用来为ndk建立一个独立的toolschain,专门针对特定的api版本。这里选择的api版本是14,也就是红字标记的位置。
   执行完脚本,独立的工具链就生成好了。

第二步:配置freetype

   在freetype的路径下执行 
      ./configure --host=arm-linux-androideabi --prefix=${NDK_TOOLS_PATH}
   这个命令用来配置编译环境,执行后,会看到一些checking。这里还可以配置其他的东西,可以参考其他文档。
   
第三步:编译安装
   在freetype的路径下执行
      make
   就开始编译freetype了。
   编译结束后
      make install
   就会把freetype的.a文件和头文件等拷贝到 ${NDK_TOOLS_PATH}下了。


2012-12-27 补充:
   第一步建立好toolchain之后,在path里加上${NDK_TOOLS_PATH}/bin
      PATH=$PATH:${NDK_TOOLS_PATH}/bin


posted @ 2012-12-26 17:27 饭中淹 阅读(2474) | 评论 (1)编辑 收藏

2012年12月19日 #

@import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); @import url(http://www.cppblog.com/cutesoft_client/cuteeditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css); 1- 下载 adt bundle,解压到/home/ide/adt-bundle-mac
2- 下载 ndk,解压到/home/sdk/android-ndk-r8c (这里的r8c是版本号)
3- 下载 cocos2dx-1.0.1-x-0.13.0-beta,解压到/home/sdk/cocos2dx-0.13
4- 修改 cocos2dx-0.13 下的 create-android-project.sh 开头的ndk的路径和android sdk 路径为 /home/sdk/android-ndk-r8c 和 /home/ide/adt-bundle-mac/sdk
5- 执行 create-android-project.sh,按照提示输入应用名,id,工程名,然后会生成 <工程名> 这样一个文件夹。
6- 在工程文件夹内的android文件夹,执行build-native.sh,会把cocos2dx和其他的cpp都编译为一个libgame.so。
7- 用adt bundle带的eclipse,新建一个other中的android project from exist code,文件夹指向 工程文件夹。
8- 编译可能会出一个找不到图标的错误,以及R相关的错误,这时候双击AndroidManifest.xml,在Application标签页,点击icon后面的...按钮,选择一个图标,自动会产生一个R.java,各种参数都会配置好。
9- 最后编译,在虚拟机上运行即可。


【可能会出现的问题】
1- 出现eglconfigchooser异常
   需要在src下的org.cocos2dx.lib包下的 Cocos2dxGLSurfaceView.java 里 151行,setRenderer 前面加上一句 setEGLConfigChooser(8,8,8,8,16,0);
2- 在eclipse里整合c++编译
   在工程属性里,增加新的Builder,类型为Program。
   Main下面
    location 选择为项目android目录下的 build_native.sh
    working directory 选择为项目目录
   Refresh下面
     指定资源目录到jni
   Build Options下面
     选中 Allocate Console (necessary for input)
     选中 Run the builder 下的每个选项
     制定资源目录为jni
   确定就可以了。在clean和确定后,系统会开始编译c++代码。
   【这里可以考虑将cocos2dx的编译和游戏编译分开,避免每次的重新编译。】
   【原来的build_native.sh将cocos2dx和声音引擎编译为.a库,可以把他们和自己游戏需要的其他辅助库预先编译】
   【游戏,则链接他们编译为.so】



3- 如何设置ndk的目标版本
    在project.properties文件里,target=android-<版本>

4- 如何设置目标apk版本
    打开AndroidManifest.xml,里面的 uses-sdk下的 android:minSdkVersion 修改为指定的api版本即可。

posted @ 2012-12-19 23:29 饭中淹 阅读(4406) | 评论 (0)编辑 收藏

2012年11月7日 #

     摘要: 本文讲述了一个简单的平台无关的RICHTEXT的实现方法。
这个RICHTEXT特性如下:
- 使用UTF-16作为字符编码
- 使用行来排版,文字从左到右显示
- 支持可独立设置字体颜色的文字和链接
- 支持自定义元素用来实现图像和动画  阅读全文
posted @ 2012-11-07 15:48 饭中淹 阅读(2867) | 评论 (0)编辑 收藏

2012年2月10日 #

     摘要: 封装PYTHON脚本引擎遇到的种种问题以及最后的解决方法。
  阅读全文
posted @ 2012-02-10 21:55 饭中淹 阅读(2790) | 评论 (0)编辑 收藏

2012年2月2日 #

IE的DATE对象getYear返回的是fullyear,CHROME返回的是-1900的年数。
IE的字符串无法用索引操作符[],CHROME里可以。
for注意要避免直接在条件里使用系统的DOM对象的属性,主要为性能考虑。
初步的模块化设计,HTML和JS分开。
XML生成DOM,以及JS代码的动态载入(EVAL)。
WINDOW上下文的JS代码动态插入(JS代码传染)
posted @ 2012-02-02 00:17 饭中淹 阅读(506) | 评论 (0)编辑 收藏

2011年10月30日 #

     摘要: objective-c一些经验教训。  阅读全文
posted @ 2011-10-30 08:14 饭中淹 阅读(748) | 评论 (0)编辑 收藏

仅列出标题  下一页