最近对xmake.lua的工程描述语法进行了增强,现已可以同时支持两种不同语法风格。
set-add描述风格
key-val描述风格
set-add描述风格
这种是xmake经典的设置风格,例如:
lua
target("test")
set_kind("static")
add_defines("DEBUG")
add_files("src/*.c", "test/*.cpp")
优势:控制灵活,可以根据各种条件,通过if-then进行灵活的条件编译,可以驾驭各种高度复杂的配置需求。
劣势:作用域控制不明显,需要手动规范化缩进
key-val描述风格
这种是xmake最近新加的风格,例如:
l
继续阅读 »
目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
一 引子
mysqldump 相信大家已经耳熟能详,相比 mysqldump,mydumper 具有如下优势:
多线程
高性能
仅凭多线程这一点就可以让你对 mydumper 爱不释手。mydumper 最新稳定版是 0.6.2,读者可以从这里下载到。本文讲解怎么编译安装 mydumper,以及怎么使用
继续阅读 »
1 频繁进入目录
cdpkg
cdpython
cdmatching
cdsched
cdd
cdm
cds
2 频繁执行长命令
git
docker
rabbitmq
3 代码的编译和运行
继续阅读 »
今天在用Homebrew安装lua_nginx模块的时候,发现只能下好lua模块再来安装Nginx,而Nginx已经是装好的了,显然不适合这样安装(PS:不想删除),所以我用了重新编译的方法来为Nginx引入lua_nginx模块。
先下载好需要的安装包,这里我们安装lua5.1,5.2暂不支持nginx
继续阅读 »
当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的。为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等。我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度。最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下。
如何启用ProGuard
ant项目和eclipse项目启用方法
在项目的project.properties文件中添加一下代码
proguard.config=prog
继续阅读 »
编译运行配置
编写Gemfile:
source 'https://rubygems.org'
gem 'jekyll'
gem 'jekyll-sitemap'
gem 'jekyll-paginate'
gem 'html-proofer'
gem "codeclimate-test-reporter", group: :test, require: nil
继续阅读 »
首先安装fcitx输入法。
sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin fcitx-googlepinyin fcitx-module-cloudpinyin
sudo apt-get install fcitx-table-all
sudo apt-get install im-switch
im-switch -s fcitx -z default
可以选择安装搜狗拼音输入法。下载地址
安装C/C++的编译环境和gtk libgtk2.0-dev
sudo apt-get install build-essential libgtk2.0
继续阅读 »
Swift之初见
let常量值
let 表示定义好的常量值,并不一定在编译期确定但是的确只能被初始化一次。
swift
let lfkdsk = 1000 // 直接初始化
let lfkdsk : Int // 没有直接初始化要提供类型推倒
lfkdsk = 100
let lfkdsk = 100 + String(1000) // 类型转化要使用显示转换
let apple = 1000
let lfkdsk = "lfkdsk have \(apple) apples" // 类比Ruby的${}
字典和元组
swift
var shoppingList = ["fuck
继续阅读 »
客户端提出搞一个日志上传的接口,方便向服务端提交日志,研究了一下,决定用Nginx嵌入Lua的方式搞。
Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。业余时间使用过,感觉小巧轻快,代码风格和Python一样简洁优雅。在Nginx中内嵌Lua,需要你重新编译安装Nginx,加上ngx_lua模块,同时需要安装LuaJIT,可以看看这篇文章"Nginx与Lua"。
安装好相关的模块后,Nginx配置如下:
location ~ /upload { # 调用的路由
# 转到后台处理URL
upload_pass /uploadHandle;
继续阅读 »
stl的容器库非常强大,但是为了要兼容各种元素类型,采用了模板进行泛化,这样的好处就是使用非常的方便,但是编译器会对使用到的每种类型都进行一遍实例化,用的类型太多的话不仅影响编译速度而且生成的可执行文件也很冗余。
因此,TBOX在设计容器架构的时候,引入tb_item_func_t类型,来设置容器使用的成员类型,这样在实现容器通用性的同时,也不会产生过的冗余,而且容器接口操作上,同样相当的便利。
可以先看个简单使用哈希的例子:
```c
/* 初始化hash, 哈希桶大小8
* 键:大小写敏感字符串
* 值:long整型
*/
tb_hash_map_ref_t hash = tb
继续阅读 »