c++

LLVMで「コンソールに"Hello World"を出力するコード」を生成するコード書いた

久しぶりに日記書きます。LLVMで遊んでみます。(まだよく分かっていないことが多いので間違ってたらコメントもらえると助かります)LLVMとは、コンパイラ基盤とかいうやつ。 簡単にオレオレ言語のコンパイラが作れたり、はたまた、LLVM IR という中間表現を…

とどちらを使うべきか?

c++

以下の記事の抄訳 C++ Tip : Should I use iostream.h or iostream? - CodeProject結論から言うと、iostream を使うべき。理由として、挙げられているのは以下のとおり .hという記述方法は5年も前に廃止された。廃止されたものを使い続けるのはよろしくない…

LaunchyをVS2010でビルドする手順

いろいろ手間取ったのメモビルド環境は以下のとおり OS: Windows7 Professional VisualStudio 2010 Pro *1 おおまかな手順は以下の通り、なんやかんやで半日くらいかかった。 Qt をダウンロード (この記事を書いてる時点では 4.7.1) Qt をビルド/インスト…

nanowwwを使ってSSL経由でBasic認証を通してリクエストを投げるサンプル

書いてみた。 nanowwwを拡張してBasic認証のためのヘッダを送信する BasicAuthClient というクラスを定義してみた。 コンパイルには OpenSSL が必要。 以下のようにコンパイルする。 -DHAVE_SSLと-lssl,-lcryptoがミソ。 g++ -DHAVE_SSL -Inanowww -Inanowww…

picojson使用例

picojson使ってみる。ソースコード内のテストを見ればだいたい使い方がわかる。 上記の実行結果 $ ./example hello : world.

C++でいい感じでHTTPが扱えるライブラリnanowww使ってみた

ずいぶん前に見かけてたけどすっかり忘れてた。cURLpp使うの結構めんどいと思ってたら nanowww というシンプルなライブラリがあった。Big Sky :: picojsonとnanowwwを使って「関係ないbot」書いた。Rubyとかスクリプト言語に慣れた身にはすごくしっくり来る…

C++のプログラムから pit を使ってアカウント情報を取得する

C/C++の勉強がてらに書いてみた。popen()なんて初めて使うので使い方おかしいかも。

libcurl の C++ラッパー cURLpp を使ってみたメモ

c++

インストール リポジトリから最新のソースを取ってきたが、CMakeの段階でエラーがでてまともにビルドできなかったので、以下、latest stable な tar ball をダウンロードしてきた。Downloads - curlpp - cURLpp is a C++ wrapper for libcURL - Google Proje…

Google Test (GoogleのC++向けユニットテストフレームワーク) 使ってみたメモ

簡単に使い方をメモ SVNなどでソースコードを取ってくる。 svn checkout http://googletest.googlecode.com/svn/trunk/ googletest ライブラリファイルを作る READMEによると CMake がおすすめらしい。CMake いれてなかったので、brew install cmakeでインス…

C++でUDPソケットを扱う簡単なクラス

とりあえず、UDPソケットからデータを受信するやつ書いてみた。

Gyazowinをforkして野良Gyazoサーバにポストできるようにホスト名,ポート,パスを指定できるようにした

ライセンスがどうなってるかよくわからなかったので、まだソースは公開してない。 GyazoのWindows公式クライアントを改造してアップロード先を変更できるようにした - 今日もスミマセン。 というようなことを先日のエントリで書いてましたが、いちおうライセ…

VB6ソースコードの字句解析するCOMコンポーネント作ってgithubにアップした

http://github.com/snaka/VBLex以下のようなコードで字句解析結果を取得していろいろできる。 set vblex = CreateObject("VBLex.Tokenizer") vblex.SourceText = WScript.StdIn.ReadAll for each token in vblex.Tokens WScript.Echo token.Type & "::" & to…

flexで生成したソースコードをVC++(VisualStudio2008)でビルドする方法

flexで生成したコード(lex.yy.cc)をVC++で普通にビルドしようとすると、"unistd.h"が無い ということで怒られる。コードを見ると、コンパイルオプションでその"unistd.h"のincludeを無効化できるっぽい。 #ifndef YY_NO_UNISTD_H /* Special case for "unist…

VBScript/JScriptなどからCOM経由でGrowlするためのCOMコンポーネントをリリースしました

とりあえずGNTP/COMと呼んでます。http://github.com/snaka/GNTPCom中身は、mattnさん作の gntp-send ライブラリを呼び出しているだけの単純なラッパーです。 インストール方法 ここからzipファイルをダウンロード ダウンロードしたzipファイルを展開 instal…

COMで配列の受け渡しがどのよう行なわれているか調べたメモ

ATLでCOMサーバ作ってみて、配列の受け渡しが難しかったので調べた。 テスト用に渡されたパラメータの型に関する情報を文字列で返す簡単なCOMサーバを作って試してみた。 テスト用のCOMサーバのソースは後述する。※なお、Method() と書くべきところを Mthod(…