タグ

2010年8月2日のブックマーク (15件)

  • enum-j.html#java_enum

    C言語によるプログラミングでは、列挙型(enum型)はたいへん良く使われます。 オブジェクト指向言語でも、それは変わらないようです。C言語を拡張したC++言語ではもちろん、Java言語でも、J2SE 5.0になってから列挙型が導入されたほどです。 その一方で、オブジェクト指向言語で列挙型を使う弊害も、繰り返し指摘されてきました。列挙型とswitch文を使ったソースコードは、ポリモーフィズムを使って書き直すべき典型的な悪い例として、しばしば取り上げられて来ました。 しかし、列挙型を使ったプログラムのすべてが、ポリモーフィズムを使って書き直すべきだとは限りません。継承によるポリモーフィズムは、オブジェクト指向の特徴の1つですが、サブクラスを作るべきではないケースもあるのです。そのような場合に、列挙型を使ったコードを書くことは、悪いことではありません。 ここでは、オブジェクト指向言語における列挙

  • ありがちなC言語プログラムの間違い

    ここでは、C言語によるプログラミングでありがちな間違いを紹介します。 C言語によるプログラミングで犯しやすい間違いは、 C言語 FAQ 日語訳 や C言語のよくある間違い に数多くの例が紹介されていますので、一度、目を通してみることをお勧めします。 ここでは、これらのページに見当たらなかった間違いの例を紹介します。 なお、C言語だけでなく、基的にC++言語でも同じことが言えます。

  • ミューテックスによる2重起動防止の罠 - Dive to the Software

    Windowsでプロセスの二重起動の防止にはミューテックスが使われます。 サンプルなどをみると簡単なのですが、意外とハマる罠があるので注意しましょう。 ちなみに以下のサンプルコードはVC2008で試しています。 罠1:OpenMutexしてはいけない #include <windows.h> #include <tchar.h> #include <stdio.h> #include <locale.h> //_tsetlocale用 #include <conio.h> //getch用 int _tmain(int argc, _TCHAR* argv[]) { _tsetlocale( LC_ALL, _T("Japanese") ); //_tprintfで日語を表示させるために必要 HANDLE hMutex = ::OpenMutex(MUTEX_ALL_ACCESS, FA

    ミューテックスによる2重起動防止の罠 - Dive to the Software
  • 紛らわしいぞ!LPCTSTR、LPTSTR、LPSTR、LPCSTRは全部意味が違う!(UsefullCode.net)

    UsefullCode.net Visual Studio 2005/2008/2010やandroid SDK/NDKでの開発者向けに便利なソースコードを提供 This site provide you with useful source codes under 'USEFULLCODE license'. TCHAR系の型というのは初めての人にとっては非常に理解しにくい。理解できれば使えるようになるのだが、そうなっても実装に間違えることが多々ある。その理由がこれ。LPCTSTR、LPTSTR、LPSTR、LPCSTR、LPWSTR、LPCWSTRの6つが全て意味が違うということ。ぱっと見ではほとんど同じだがよく見ると「C」が付いていたり、「T」が1つ多かったりと微妙にスペルが異なっている。 これがどう違うのかと言うと... LPSTR = char* LPCSTR = const c

  • SandTrip.bundle - きりかリポーツ

  • C 言語の配列について - IT戦記

    僕の理解も相当間違ってたみたいですね 「 *s 」と「 s[] 」の違い - IT戦記 書いてよかった>< 書かぬは一生の恥になるところでしたね! ありがたい突っ込みありがとうございます>< 404 Blog Not Found:c - *sとs[]の違い http://d.hatena.ne.jp/PyTest/20080404/1207273307 はてなブックマーク - 「*s = "...";」 と 「s[] = "...";」 の違い - IT戦記 だいたい分かった気がする 違ってたらきっと誰かが突っ込んでくれる>< 配列 ポインタはキモくなくて、配列がキモいってことが分かった。 あまちゃん: 配列は式の中に置くと「一部の例外」をのぞいてその場で「先頭要素のポインタ」の値として扱われるよ ひとちゃん: 式じゃないところってどこ>< あまちゃん: 宣言ぐらいじゃね ひとちゃん: で

    C 言語の配列について - IT戦記
  • 「 *s 」と「 s[] 」の違い - IT戦記

    沖林さんがんばれ! なんか、かわいそうになってきた><がんばってください! C/C++のポインタの機能--配列との関係 - builder by ZDNet Japan ところで 僕はちゃんと説明できるかな>< 少しでも言葉や概念が変だったら教えてください>< *s char *s = "hoge"; コードがロードされたときに文字列もメモリにロードされて、実行時にスタックにポインタ変数ができて文字列を指す。 文字列がロードされたメモリのページ(?)には、書き込み権限が付加されないので文字列の内容を書き換えることはできない。 .cstring str: .ascii "hoge" .text .globl _main _main: pushl $str ↑イメージ的にはこんな感じ s[] char s[] = "hoge"; コードがロードされたときに文字列もメモリにロードされ、実行時にス

    「 *s 」と「 s[] 」の違い - IT戦記
  • 配列とポインターと、そして文字列リテラルとかの話 - f99aq8oveのブログ

    きっかけ C/C++のポインタの機能--配列との関係 - builder 「 *s 」と「 s[] 」の違い - IT戦記 C 言語の配列について - IT戦記 なにやらポインターとか配列とかでいろいろ盛り上がっていたようですね。 遅ればせながら、私も参戦してみたいと思います。 というのも、新人教育の副講師としてプログラミング言語 C を新人たち*1に教えたりしていたのですが、まさに amachang さんのエントリー名のとおりの "「 *s 」と「 s[] 」の違い" でつまずいてしまったのです。 新人教育では、このコードと図のようなものをプロジェクターで映し出して説明してみました。 char a[] = "hoge"; char a[] = { 'h', 'o', 'g', 'e', '\0' }; /* ↑と同義! */ char *b = "fuga"; /* const char

    配列とポインターと、そして文字列リテラルとかの話 - f99aq8oveのブログ
  • Security Akademeia【セキュリティアカデメイア】

    当サイトの一部ページには、アフィリエイト・アドセンス・アソシエイト・プロモーション広告を掲載しています。 Amazonのアソシエイトとして、Security Akademeiaは適格販売により収入を得ています。 広告配信等の詳細については、プライバシーポリシーページに掲載しています。 消費者庁が、2023年10月1日から施行する景品表示法の規制対象(通称:ステマ規制)にならないよう、配慮して記事を作成しています。もし問題のある表現がありましたら、問い合わせページよりご連絡ください。 参考:令和5年10月1日からステルスマーケティングは景品表示法違反となります。 | 消費者庁

    Security Akademeia【セキュリティアカデメイア】
  • 時間のかかる処理で「処理中」を表現する(前編)

    Vistaになって顕著に表れるようになった「(応答なし)」。Windows 7で若干減ったものの、見かける状況に変わりはありません。連載では、C++とWin32 APIを利用して「(応答なし)」を表示せずに長い時間作業を行うための方法を、2回に分けて紹介していきます。 はじめに この数年で2000/XPだった環境が一気にVista/Windows7に変わり、マシン(処理)が速くなったと喜ぶ声を聴きます。しかし、処理速度が上がったにもかかわらず、今までよりも頻繁にキャプションに「(応答なし)」と表示されてしまっているのではないでしょうか。 稿では、この「(応答なし)」がなぜ出てしまうのか、どうしたら意図しない「(応答なし)」を表示させずに済ませることができるのかを、C++とWin32の最新テクノロジを用いてチップス的に紹介したいと思います。 対象読者 C++Windowsアプリケーショ

    時間のかかる処理で「処理中」を表現する(前編)
  • 「Linux 標準教科書」iPadアプリで無償提供開始 オフラインでの閲覧が可能

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「Linux 標準教科書」iPadアプリで無償提供開始 オフラインでの閲覧が可能
  • GIGAZINEブチギレ、「記者が働かずに金ばかり要求してくるようになった。」→GIGAZINEのために働いてくれる人募集! : オレ的ゲーム速報@刃

    1 名前: スクリプト荒らし(愛知県)[] 2010/08/02(月) 08:36:39.48 ID:2lnBr3mx 【求人募集】GIGAZINEのために働いてくれる記者・編集を募集します ・募集に至る経緯 現在、GIGAZINEは10名近くで構成されていますが、この中で編集長を除いて、記者・編集を最初から志して加わった者はほぼ皆無です。 また、編集長自身がこれまでソフトバンク・ライブドアといった会社を経験してきたため、上からの命令ではなく、もっと自由に、そして自主的に動くことを期待してさまざまな社員を記者・ライター業務など未経験であっても将来の可能性に期待して雇ってきました。 これは多彩な視点を持った人材を雇うことによって、多様な視点の記事ができることを期待してのものでした。 が、自分の好きなことや趣味をコアとして記事にすることを拒絶したり、編集長やデスクからの業務命令を拒否したり、挙

    GIGAZINEブチギレ、「記者が働かずに金ばかり要求してくるようになった。」→GIGAZINEのために働いてくれる人募集! : オレ的ゲーム速報@刃
  • 長文日記

  • パスワード認証

    ゆめみがちサロン ゆめみがちサロンはオンラインサロンの先駆けです。嘘です。

    パスワード認証
  • DLL - Eternal Windows

    EternalWindows Windows開発 / DLL インポートライブラリの役割 --- モジュールのマッピング GetModuleHandle 明示的リンク LoadLibrary GetProcAddress FreeLibrary システムとDLL --- DLLの検索 --- DLL 開発 関数のエクスポート --- DLLの利用 --- DLLとUNICODE --- defファイルの使用 --- DLLのエントリポイント --- 列挙編 モジュールの列挙 (Tool Help) CreateToolhelp32Snapshot Module32First Module32Next モジュールの列挙 (PSAPI) EnumProcessModules GetModuleBaseName GetModuleInformation 関数の列挙 --- 戻る