2016-02-03 ruki
xmake的工程描述文件,摈弃了makefile的繁琐复杂,借鉴了premake的简洁明了,原生支持lua脚本,使得更加的灵活、方便扩展。 工程默认描述文件名为xmake.lua,支持多级目录嵌套,也可以通过以下命令,指定其他文件作为工程描述文件: bash xmake -f /tmp/xxx.lua xmake --file=xxx.lua 下面先来看一个最简单的例子: ```lua -- 添加一个名为demo的目标到工程 target("demo") -- 设置目标程序类型为二进制可执行程序,一般为console的终端命令行程序 set_kind("binary") 继续阅读 »
2014-10-06 Mithrilwoodrat
[CDATA[<p class="text" 在coursera上有个csapp有关的公开课 The Hardware/Software Interface 上面的lib2和csapp上的二进制炸弹实验一样,但是是64位的=.=,于是我还是去 http://csapp.cs.cmu.edu/public/labs.html上下载了一个32位的文件来练习. 下面是第一关的反汇编 Dump of assembler code for function phase_1: 0x08048b20 <+0>: push %ebp 继续阅读 »
2017-02-08 Lu Huang
ASR
在阅读《解析深度学习:语音识别实践》时,也会参考一些博客,看到好的也会整理一下分享出来。本文主要通过浅显的语言来展示语音识别的基本过程和原理。本文大部分内容转载至:语音识别的技术原理是什么?。 语音识别技术,也被称为自动语音识别AutomaTIc Speech RecogniTIon(ASR),其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如按键、二进制编码或者字符序列。与说话人识别及说话人确认不同,后者尝试识别或确认发出语音的说话人而非其中所包含的词汇内容。下面我们来详细解读语音识别技术原理。 首先,我们知道声音实际上是一种波。常见的mp3等格式都是压缩格式,必须转成非压缩的纯波形文件来处理,比如Windows P 继续阅读 »
2016-11-09 YongHao Hu
go
虽然go1.5支持共享库,但是由于golang并不能像C语言一样通过export,头文件与.C文件分离,所以并不能实现与C语言一样,只提供头文件与共享库而不提供实现的方法。 go1.7引入了binary-package, 实现了以上C语言的功能,提供二进制包。 继续阅读 »
2016-06-27 zzyhappyzzy
数据的传输和获取,通常会涉及到数据的压缩和解压等操作 more 如果现在有这么个需求 1、从服务器下载的图片,根据图片的二进制数据流决定图片的格式,你会怎么办? (数据截取) 2、需要将用户每天24小时的生活状态传到服务器,然后可以按年/月/周/天取出并统计、展示等,你会怎么办?(字节数组) 对于上面的问题,我们就必须考虑数据结构,并实现压缩和解压等操作 下面给予一个简单的示例,希望有所启示 ```objc //打包 int tmpSize = 10; Byte *tmpBuffer = malloc(sizeof(Byte)*tmpSize); for (int i = 0;i 继续阅读 »
2016-07-10 Lanffy
Apache Thrift Thrift 是一种接口描述语言,通过二进制通信协议为多种编程语言定义和创建服务。Thrift是一种可扩展的跨语言服务的RPC框架,由Facebook开发并且开源。 继续阅读 »
2016-10-30 ruki
新特性 为解释器作用域增加一些内建模块支持 针对windows x64平台,支持ml64汇编器 改进 增强ipairs和pairs接口,支持过滤器模式,简化脚本代码 为vs201x工程生成增加文件filter 移除core/tools目录以及msys工具链,在windows上使用xmake自编译core源码进行安装,优化xmake源码磁盘空间 移除xmake/packages,默认模板安装不再内置二进制packages,暂时需要手动放置,以后再做成自动包依赖下载编译 Bugs修复 修复msvc的编译选项不支持问题:-def:xxx.def 修复ml.exe汇编器脚本 修复选项链接顺序问题 继续阅读 »
2017-08-17 ruki
此版本主要修复一些稳定性问题。 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 改进 改进add_files,支持对files粒度进行编译选项的各种配置,更加灵活。 从依赖的target和option中继承links和linkdirs。 改进target.add_deps接口,添加继承配置,允许手动禁止依赖继承,例如:add_deps("test", {inherit = false}) 移除tbox.pkg二进制依赖,直接集成tbox源码进行编译 Bugs修复 修复目标级联依赖问题 修复target:add和option:add问题 修复在archlinux上的编译和安装问题 修复/ZI的兼容性 继续阅读 »
2018-10-30 Vaniot
IP地址 地址的分类 IP(Internet Protocol国际互联网协议)的长度为32为(bit),分为4段,常用十进制数字表示,每段数字的范围是1~254,一个4字节的IP地址划分为两个部分用于标明网络端和标明具体的节点,分别对应两个ID(标识码):网络ID和主机ID,同一物理网络上的主机用相同的网络ID。 more 五类IP地址 A类 A类IP地址有1个字节的网络地址和3个字节的主机地址组成,网络地址的最高位(二进制)必须为"0"(第一段数字的范围[1-126]),地址的范围从1.0.0.1~126.255.255.254可用的A类网络有126个,每个网络可容纳16777214个主机 计算: 网段:首位为0 继续阅读 »
2017-08-26 Piasy
NDK
本文的前身是一篇笔记,比较零碎,发布出来是为了让后续的文章可以有一个基本的参考,本文会持续更新。 NDK 的高性能最常见的场景:多媒体,游戏。此外,利用 NDK 还能练习 C/C++,一举两得。 基本概念 shared library, .so static library, .a JNI: Java Native Interface Application Binary Interface, ABI:我们将符号修饰标准、变量内存布局、函数调用方式等跟可执行代码二进制兼容性相关的内容称为程序的 ABI(摘自《程序员的自我修养》); Application Programming Interface, API:API 是源码层面 继续阅读 »