Archive for the ‘OS’ Category

[Linux] gcc, g++ によるC/C++のコンパイル・オプション

土曜日, 12月 26th, 2009

UNIX/Linuxを用いて、C/C++のプログラムをコンパイルする際に多くの場合使用するコンパイラはgccやg++と呼ばれるものを使うことがほとんどだと思います。なので、今回はこれらgccやg++コマンドを用いてC/C++のプログラムをコンパイルする際のオプションについて説明しようと思います。普通にコンパイルするだけなら、gcc プログラム名g++ プログラム名などとしてコンパイルするだけでできてしまいます。しかし、このコンパイル時にいくつかのコンパイル・オプションを付加することにより、柔軟にプログラムのコンパイルを行うことができるようになります。例えば、コンパイル時間に時間がかかったとしてもプログラムの実行時間を短くしたい、とか生成される実行可能ファイルのファイル名を変更したり、ヘッダファイルのインクルードパスを変更したり、といったことができるようになります。では、続きでいくつかのオプションを紹介します。

主要オプション

オプション -o

後に続く文字列をファイル名とする実行可能ファイルを生成します。これを指定しない場合は、a.outという名前の実行可能ファイルを生成しますが、これを指定することで、実行可能ファイルの名前を任意の名前にすることが可能になります。

オプション -c

ソースファイルのコンパイルのみを行って、オプジェクトファイルを生成するためのオプション。リンカによるリンクを行わない。これにより生成されたオブジェクトファイルはリンクされていないため、そのままでは実行することはできない

オプション -I

通常のヘッダファイル以外のヘッダファイルを使用する際に、そのヘッダファイルが存在するパスを記述します。-Iの後ろにヘッダファイルの存在するディレクトリへのパスを書くことによって使用できます。通常は使用する必要はないはず。

(続きを読む…)

[Androidアプリ] EStrong Exploler

火曜日, 12月 22nd, 2009

Androidで自分が使っているファイラーアプリ(EStrong Exploler)に先日バージョンアップがあり、とても便利な機能が付いたのでブログに書いてみようと思います。ファイラーといえば、Astroあたりが人気のようだが、自分は、EStrong Explolerを使っている。というのも、このアプリは、Android端末のSDカード以外にも実はSambaサーバーのフォルダも参照できるようになっている。これは、自宅などでSambaサーバーを運用している人にとっては重宝する機能だと思う。自分自身、自宅内のみのローカルサーバーではあるが、Linux(CentOS)にSambaを起動させて運用している。そして、自宅内では無線LAN(Wi-Fi)も運用しているので、自宅にいるときにはHT03-AにてCentOSの共有フォルダ内を自由に参照することができるのだ。この機能が以前から重要だと考えていたので、EStrong Explolerを使い続けてきた。

最近の新機能

上で書いたSambaサーバーを利用できるだけでもよかったのだが、さらに今回新機能がついた。それは、FTPサーバー内のフォルダを閲覧できるようになった。残念ながらファイルの閲覧・編集は現在は無理(?)のようだが、これは時期にバージョンアップにより可能になるだろう。とはいえ、FTPサーバー内のファイルをコピーして自端末内やSambaサーバー上に複製したり、自端末やSambaサーバー上からファイルをアップロードすることも可能である。Web運営を行っている人にとっては、ここまで便利なアプリはなかなかないだろう。実は昨日、AndFTPというアプリを見てインストールしてみたのだが、これはFTPサーバーとの接続がメインであって、自端末やSambaサーバーとのアップロード・ダウンロードについては考慮されていない気がする。

(続きを読む…)

[UNIX/Linux] 文字コード変換コマンド nkf

金曜日, 12月 11th, 2009

UNIX/LinuxとWindowsマシンを使い分けている人にとってやっかいなことの1つは、マシン間での文字コードの変換でしょう。WindowsはShift-JIS、それに対してUNIX/LinuxはUTF-8であったりEUC-JPであったりと文字コードがWindowsと違っていることが多いですよね。となると、UNIX/Linux側でファイルサーバ(Samba)を起動し、ファイル共有を行っていたとしても、文字コードが違っているためにうまく使えないこともあると思います。そんなときに、UNIX/Linuxマシンには文字コードを変換するコマンドnkfが存在します。今回は、そんなnkfコマンドについて解説します。

文字コード変換といえばnkf

基本的な構文は、

$ nkf オプション ファイル名 [ > 出力ファイル名]

となっています。また、オプションは、

  • -j(省略可):JISコード(ISO-2022-JP)を出力
  • -e:EUCコードを出力
  • -s:Shift-JISコードを出力
  • -w:UTF-8コードを出力(BOM無し)
  • -Lu:UNIX改行形式(LF)に変換
  • -Lw:Windows改行形式(CRLF)に変換
  • -Lm:Macintosh改行形式(CR)に変換
  • -g(–guess):自動判別の結果を表示
  • –overwrite:引数のファイルに直接上書き
  • –version:バージョン情報を表示(インストール済みかのチェックなど)

となっています。変換先文字コードの頭文字1文字(UTF-8の場合例外的にw)ですね。また、環境によって変わってくる改行形式(CR, LF, CR+LF)についても、L~というオプションによって変換できます。LはLine break(改行)の略でしょうか。また、現在のファイルの文字コードを知りたい場合は、-gオプションを使えばOKです。

(続きを読む…)

Android Donutsが配信されました

金曜日, 10月 30th, 2009

1週間前にいきなり(?)配信が開始されたAndroid Donuts(ver1.6)ですが、ようやく本日の午前4:00ごろに私のHT03-Aにも配信されてきました。待っていてもなかなか来ないので、もしかしたら自分のところにはずっと配信されないんじゃないか?とも思っていましたけれど、無事配信されてよかったです。ちなみにインストール前の確認画面が左下みたいなので、インストールを指定し再起動をかけたときのセットアップ中の画像が右下みたいな感じです。セットアップ時間はだいたい4分半くらいだったかな。

DonutsPrev
androidSetup

セットアップが完了し、起動し終わると無事Donuts(1.6)にアップデートされていることが分かります。

(続きを読む…)

AppleのMagic Mouse

水曜日, 10月 21st, 2009

iPhoneから始まり, iPod Touch, MacBook Proなどで利用されているマルチタッチ型のインターフェースが今度はMacのデスクトップ用のマウスでも利用できるようになったようです. クリック操作や360度スクロール, ズーム, スワイプ操作と数々の操作をマルチタッチのマウスにて行うことができます. しかもMacとの接続方式はBluetoothとのことで, 煩わしいコード配線に悩む必要もありません.

自分自身, 今使っているPCがWindowsマシンとUNIX/Linuxマシンということで, このMagic Mouseを利用することはできませんが, Windowsマシンを離脱してMacマシンに乗り換えるときがきたらきっとこのMagic Mouseにお世話になることでしょう。そのときを期待しながら待つことに
します.

参考サイト

Get Adobe Flash playerPlugin by wpburn.com wordpress themes