概述
PushDemo接入魅族pushsdk,为了能开始针对应用的包名,生成相应的apk,我们搭建了如下的自动编译pushdemo测试apk的环境,旨在能够根据用户申请的包名,个性化打包pushdemo
一.准备工作
我们已经为你准备了android sdk 全部的资源包你无需任何下载,之需要解压sdk压缩包放到指定目录即可
NOTE: CentOS 远程安装教程
继续阅读 »
默认编译出来的tbox库,支持的功能比较全,带有所有模块,并且支持ssl(依赖polarssl/openssl)、gzip(依赖zlib)、database(依赖sqlite3/mysql)。
因此生成的库文件偏大,而且会依赖三个第三方库,如果你用不到上述三个模块,完全可以自己配置编译所需要的模块,减小生成库的大小。
新版采用xmake进行构建,裁剪模块已经是相当方便了,默认情况下回去自动检测依赖的第三方库进行编译。
如果要禁用某个第三方库或者模块,只要执行xmake f --xxxx=false就行了,所有第三方库依赖都是可选,完全可以禁用。。
例如,禁用所有第三方库支持:
bash
xmake f --pola
继续阅读 »
编译的详细过程
以hello.c的源文件为例, C/C++编译, 链接与装载的流程是
gcc -E 将hello.c预处理, 把所有的宏展开, 解析#ifndef, 删除注释等, 得到translation unit(编译单元) hello.i文件.
gcc -S 将hello.i编译成汇编文件hello.s
gcc -c 汇编器as将hello.s编译成成目标文件hello.o
gcc 链接器ld将hello.o链接成可执行文件a.out
继续阅读 »
之前的版本对编译控制粒度,只能到target这一级:
```lua
-- 全局根配置,所有target都会被影响
add_defines("ROOT")
target("test")
-- target目标配置,只对test目标下的所有源文件编译生效
add_defines("TEST")
add_files("src/*.c")
```
最近给2.1.6开发版本中的add_files进行了改进,支持基于files更细粒度的编译选项控制,例如:
lua
target("test")
add_defines("TEST1")
add_files("src/*.c")
add_files("test/*
继续阅读 »
xmake 提供了方便灵活的交叉编译支持,大部分情况下,都不需要配置很复杂的toolchains前缀,例如:arm-linux- 什么的
只要这个toolchains目录满足如下结构(大部分的交叉工具链都是这个结构):
/home/toolchains_sdkdir
- bin
- arm-linux-gcc
- arm-linux-ld
- ...
- lib
- libxxx.a
- include
- xxx.h
那么,使用xmake进行交叉编译的时候,只需要进行如下配置和编译:
bash
$ xmake f -p linux
继续阅读 »
重新编译PHP安装更多扩展功能
如果已经编译安装过php,但是在使用过程中发现当初编译的时候有一些功能没有开启,而且在php.ini文件中也无法启动。那么唯一的办法就是重新编译安装PHP了。
为了获得新的功能,我们首先关注的是,不能把之前有的功能不小心给关闭了,所以需要找到之前的编译参数。
继续阅读 »
如果你想在同一个target上既编译静态库,又能编译动态库,那么稍微修改下 xmale.lua就行了:
```lua
add_target("test")
-- 设置编译target的类型,之前是:static/shared,现在改成动态的
set_kind("$(kind)")
-- 添加文件
add_files(*.c)
```
好了,现在默认编译的时候,会生成静态库:libtest.a
如果你想生成动态库,只需要执行:
```bash
简写
xmake f -k shared
或者
xmake config --kind=shared
编译
xmake
```
继续阅读 »
android界面一般采用Xml编写,与图片资源结合
如果想"借鉴"别人的安卓界面,可以下载别人的apk
解压,然后图片资源可以找出来
xml文件也可以看到,不过都是二进制,需要反编译
可以使用如下办法进行反编译
下载AXMLPrinter2.jar
下载BatchAXPrinter.BIN.zip 下载之后解压,更改后缀为.jar
在控制台进入到解压后apk的目录,输入java -jar BatchAXPrinter.jar AXMLPrinter2.jar ../res/layout/
其中 ../res/layout/是你要反编译的XML文件的根目录。即可完成批量反编译xml文件
再加上之前得到的图片资源,安卓界面"借鉴
继续阅读 »
这几天搞Scratch源代码的编译,遇到不少坑,特此记录一下。
more
准备工具
官方提供了两种编译方式:Ant和Gradle,我是使用Gradle编译的,需要准备的工具如下:
- Java JDK,用于执行gradle
- Gradle,用于编译
- Git,用于下载源代码,同时gradle脚本中也会用到git命令(可注释掉不用)
继续阅读 »
原文链接 : https://lfkdsk.github.io/
原文作者:lfkdsk
可以参考我写得代码:First&Follow
这次我们来讲一个学习编译原理的常见项目,对一个非终结符和一个产生式集求First&Follow集。这是很简单和基础的内容,但是国内的教科书,又犯了计科类教材经常出现的毛病,爱乱给东西起名字,而且还讲不清概念,所以在学习编译原理的时候我记了一本笔记,专门用来翻译国内教材书上的概念到底是怎么回事。
闲话少说我们先来把First&Follow集说清。
1.First集求法
First的本质意义在于处理字符流的前驱子串,比如在LL构建预测分析表的时候就
继续阅读 »