タグ

コンパイルに関するyowanoのブックマーク (5)

  • Make と Makefile の説明

    まだ完成途中です back 注意: このページの内容には、おそらく多くの間違いがあります。 リンクされているので残しておきますが、利用には注意してください。(2008年3月、新山) ここではおもに make の使い方 と Makefile の書き方について 説明しています。じつは make の種類にはいろいろあり、ここでは GNU make (gmake というコマンド名のこともある) を 対象にしています (BSD の pmake でも基的な部分は同じですが、 マクロ定義などは違うところもあるので注意してください)。 わかりにくい箇所とか、まちがってる箇所がある場合はメールください。 Contents make はどんなときに使うか Makefile を作る make の実行 Makefile の文法リファレンス 多段 make について (未完成) Makefile の例 (未完成)

    yowano
    yowano 2013/08/19
    makeコマンド、Makefileのまとめ。そもそもmakeとは何かから、文法、実際の使用例、実用例まで。
  • コンパイラ(gccコマンド)の使い方

    gccはジーシーシーと読む.GNUが作成し,UNIX,Windowsなどで動作するフリー のコンパイラである. ここでは,C言語をコンパイルする際のgccの利用方法を説明するが,C++の場合 にはgccというところをg++に変更すればほぼそのまま利用可能である. イタリック体は,実行時には適当に変えること.ここでは,サンプルとし て,test.cをコンパイルしてtest.o(オブジェクトファイル)または test(実行ファイル)を作成する場合についての説明をする. 主なオプション一覧 -g   (コンパイル,リンク時) コンパイル,リンク時にDEBUG情報を付加する.dbx,gdbなどのデバッガ を使用するときに必要. -c   (コンパイル時) コンパイルのみ行う(オブジェクトファイルを生成する). ex: gcc -c test.c   → test.oを生成 -o test.o  (

    yowano
    yowano 2013/08/19
    gccの基本的な使い方とその具体例。
  • gccで#pragma onceを使う さらばインクルードガード - td2sk の日記

    今までMS系コンパイラだけの機能だと誤解してた。 gcc(version 3.4以上)でも#pragma onceが使える。だからいちいちインクルードガードを書く必要はない。 pragma once:Wikipedia ただし、 C/C++標準で定められていない独自拡張であり、移植性は期待できない #pragma hogehoge は、hogehogeにtypoがあってもwarningすら出ずに無視される シンボリックリンクがあると正しく動作しないコンパイラがある(gcc3.4など) 移植性に関しては、wikipediaによれば多くのコンパイラでサポートされているようなのでさほど問題にはならないかもしれない。 しかし2番目、onceでのtypoはやばい。そのときは何の問題もなくコンパイルが通っても、ある日突然2重インクルードによるエラーが発生して混乱の元。用いる際は十分注意すること 裏技と

    gccで#pragma onceを使う さらばインクルードガード - td2sk の日記
  • Taxi Blog オブファスケータ

    今日は技術的な話をちょっと。 オブファスケータは、プログラムを難読化するツールです。javaで作ったアプリは、簡単に逆コンパイルできるので、難読化しておくと安心です。また、副作用でアプリサイズが小さくなるので、厳しいサイズ制限のある携帯アプリには必需品です。ちなみにjavaの難読化ツールでは、ProGuardが有名です。 開発言語のjavaにはクラスというオブジェクト指向特有の仕組みがあります。クラスは複雑になりがちなプログラムの整理整頓に非常に役立ちます。しかし、クラスを作りすぎるとアプリサイズが大きくなるので携帯アプリには欠点になります。最近でこそメガアプリ対応機種の増加で、サイズ制限による苦しみから解放されましたが、数年前まではオブジェクト指向に逆らってクラスを減らすことが必須でした。 現在、私はメガアプリ対応に甘えて、サイズを一切気にしないコーディングをしています。ああ快適。そした

    yowano
    yowano 2013/03/06
    オブファスケーション時、Windowsの場合、ファイル名に大文字小文字の区別がないため、クラスファイルa.classとA.classが競合してしまい、エラーが発生する。オプションで対策可能。
  • No.0105 オブファスケータ「RetroGuard」

    次へ → ┏ Oh! Java, Java ━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 亀の歩みのJavaプログラミング『おじゃば★じゃば』 ┃ ┃…………………………………………………………………………………………┃ ┃ [毎週月曜発行] まぐまぐマガジンID=0000039859 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ http://homepage1.nifty.com/runrun/menu.html ◆                       No. 0105   ◆ ◆◆◆┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓◆◆◆ ◆◆ ◆◆ オブファスケータ「RetroGuard」          ◆◆ ◆◆ ◆◆◆┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛◆◆◆ ◆                

    yowano
    yowano 2013/03/06
    オブファスケーションとは、デコンパイルによって得られたソースを非常に読みにくくし、セキュリティの向上を図ること。軽量化もされる。RetroGuardは、LGPLというライセンス形態のオブファスケータ。
  • 1