Vala
概要 少なくとも現時点(ver.0.24)では、クラスに設定するinterfaceの順序を気にする必要がある。 ソースコードと実行結果 まず、問題のソースコードと、 その実行結果を見てみよう。 interface IFirst {} interface ISecond : IFirst { public abstract int …
目的 以前の記事(静的ライブラリ内のprivateクラスへアクセスする - エンジニアなプログラマ)で、 --internal-vapiオプションについて記述した。 このオプションに関してvalacのバグと思われる動作があったので、 その詳細と回避策を記録しておく。 なお、bu…
目的 複数のvalaソースに分割されたプログラムをmakeする際、 静的ライブラリを生成してリンクすることはよく行われる。 この時、静的ライブラリ内で使用しているprivateなクラスを、 外部から使用する方法を検討する。 結論 valacのオプション-Hと--interna…
目的 テストでGLib.Testを使用した際、add_func()の引数に関して次のようなコンパイルエラーが発生した。 Cannot create delegate without target for instance method or closure この解決方法を検討する。 現象 例えば次のようなソース。 private class Un…
valacは出力.cファイルの名前を変更することができない。 その影響で、automakeでは、 同じソースを複数のターゲット(PROGRAMSやLIBRARIES)で 使用することができなくなっている。 なぜなら、automakeのvala言語対応においては、 .valaを.cにリネームしたタ…
Valadocとは Valadocはvalaソースコードに記述されたコメントから、ドキュメント生成するソフトウェア。 公式サイト https://wiki.gnome.org/Projects/Valadoc 前提 Ubuntu 12.04 LTS valac 0.22.1 手順 ソースコードを入手する。 git clone git://git.gnome…
目的 GDBではGeeのコンテナの要素を直接表示できない。 さらに、データ構造もライブラリで隠蔽されているため、 無理やり(メモリを)覗き見するのも難しい。 そこで、Geeのライブラリ関数を使用して、 Geeコンテナの要素をGDBで表示できるようにするマクロ…
前回に引き続き、vala言語の特徴を紹介する。 なお、公式ページはこちら。 https://wiki.gnome.org/Projects/Vala ネイティブなバイナリを生成できる valaのソースコードから、最終的にはネイティブなバイナリコードを生成できる。 PerlやRubyのようなインタ…
vala言語。 これは数年前に開発された新しい言語である。 日本での知名度はまだ高くないようだ。 そこで、今回はvala言語の特徴を紹介してみよう。 なお、公式ページはこちら。 https://wiki.gnome.org/Projects/Vala 文法はC#ライク vala言語の文法はC#とほ…