archlinux 上使用archlinux-java 切換不同java 版本

Java 2014 年就推出java 8 了,從java 6 到java 8 共有三個版本的 java,各版本間無法相容,例如要開發Android 的話就要使用java 6, 而目前電腦上安裝的Eclipse Mars 2.0,看到java 6 就會作嘔回報:

Version 1.6.0_45 of the JVM is not suitable for this product. Version: 1.7 or greater is required.

在Ubuntu 上開發時,可以使用alternatives 來切換不同的java 版本

...

用llvm 編譯嵌入式程式

最近幾天在研究嵌入式系統,玩一玩也有一些心得。
課程上所用的編譯工具是arm-none-linux-gnu toolchain,在Archlinux 下可以用如下的方式安裝:

yaourt -S gcc-linaro-arm-linux-gnueabihf
yaourt -S qemu-linaro
yaourt -S arm-none-eabi-gcc49-linaro
yaourt -S arm-none-eabi-gdb-linaro
ln -s /opt/gcc-linaro-arm-linux-gnueabihf/libc /usr/arm-linux-gnueabihf

不過最近心血來潮,想來試試如果用另一套編譯器 LLVM 來編譯看看,至於為什麼…好玩嘛(炸),總之這裡是設定筆記:

...

使用autotool 編譯qt project

在寫這篇,我發現我曾經寫過類似的內容:使用gnu make編譯Qt 專案
總之,這次又是在qucs專案上遇到的問題,之前專案裡的使用者介面,不知道是哪根筋不對,竟然全部都是用手爆的啊啊啊! 正好這個project現在進入巨量refactor階段,在改其中一個部分時,順手把其中一個使用者介面換用Qt的Designer來做。

結果,還要改編譯的autotool,讓它使用UIC解決才行,網路上找找沒什麼資料,只好印autotool的文件下來看,以下是我最後弄出來的Makefile.am設定:

...

在64 bits OS上編譯nasm 組合語言

最近作者正在看nasm,某個assembly 的實作,因為作業系統都升到64 bits了,要編譯asm code需要一些額外處理,以下記錄一下處理步驟,我是用archlinux,不過我想其他作業系統應該也差不多:

...

使用python struct 實作Dex file parser

最近因為學校作業的關係,開始碰一些android的相關內容;有一個作業要我們寫一個程式去改android dex file的opCode, 不過我實力不足,最後用smali/baksmali+shell來實作,一整個就不是熟練的程式人該作的事O_O。

...

使用Expect進行大量修改密碼

最近稍微研究了一下expect這個工具,簡單來說,它可以作為使用者對shell的代言人,本來需要大量使用者回應的工作,可以交由expect來處理, 能做到非常多事情,多到值得寫一本書,也是本篇的參考資料:
Exploring Expect A Tcl-based Toolkit for Automating Interactive Programs
看書還是吸收技術最快的方法。

...

使用gnu make編譯Qt 專案

最近白天跑EM,夜深寫QT。
當然這完全沒什麼,其他同學至少兩年前就寫過了LOL。

只能說Qt 真是相當強大的工具,最基本的signal & slot的概念,如果對GTK的callback熟悉的話,很快就能上手。
一般在寫Qt時,最常用的還是用qmake來產生Makefile,畢竟qmake寫得還不賴,打一次就會產生好Makefile,接著make即可; 不過有時個人習慣還是偏好用gnu-make,可以自己編寫Makefile,做一些細部的調整,用qmake的話只要重新產生一次Makefile,這些細部調整就要重新再修改一次。
這篇就是說明一下,要如何使用gnu-make來處理Qt專案。

...

用makefile來編譯安裝android apps

因為一些關係,最近正在寫Android上的Apps。
寫Android,大部分人可能都會用Eclipse來寫,Eclipse主要是整合了很多功能,用起來滿方便的,不過個人還是偏好用terminal+vim來寫code。
雖然這樣會比較不那麼自動一點,但也不是沒有解,在終端機下,如果有什麼要自動化的話,就要用makefile啦。

...