Movatterモバイル変換


[0]ホーム

URL:


はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

タグ

関連タグで絞り込む (18)

タグの絞り込みを解除

cに関するHoriuchi_Hのブックマーク (19)

    • パワーポイントでC言語プログラミング

      どこの会社もそうですが、パワーポイントの資料作るのが得意なエンジニアはたくさんいるのですが、実際にプログラムでコードを作るのが得意なエンジニアはあまりいなくて、当に困ります。

      パワーポイントでC言語プログラミング
      Horiuchi_H
      Horiuchi_H2013/10/03非公開
      これは酷い(褒め言葉)
      • C言語は今でも価値のある言語か?

        Couchbaseの作者Damien Katz氏は,C言語はバックエンドプログラミングにおいて現在でも優れた言語である,という意見を持っている。しかし他の開発者は,C言語はあまりにも欠陥が多いとしてC++Javaを支持するもの,あるいはいずれも好まないというものなどさまざまだ。 CouchDB の開発者であるDamien Katz氏は,The Unreasonable Effectiveness of C と題した先日のブログ記事において,C言語がバックエンドのための優れた言語であると断言した。氏はC++Java,さらにはErlangやRubyのようなより現代的な言語よりも,今後もC言語を支持していくつもりだという。ただし単純に,C言語を他のどれよりも優れた言語だと言っている訳ではない。"言語自体のパフォーマンスと信頼性が重視される場面においては,C言語に比類する言語は皆無である",別

        C言語は今でも価値のある言語か?
        Horiuchi_H
        Horiuchi_H2013/01/29非公開
        どの言語を選択するかは、プラットフォームや環境次第。少なくとも C言語で文字列処理が主なプログラムは書きたくないよね。何事も適材適所。
        • Objective-Cで少しでも疎結合なプログラムを書くためのチェックポイント | TOKOROM BLOG

          チェック1. なんでもかんでもヘッダーファイルでimportしていませんか? 例えば、こんなコードを書いていませんか? #import "OtherLibrary1.h" #import "OtherLibrary2.h" @interface Library @property (strong) OtherLibrary1* otherLibrary1; @property (strong) OtherLibrary2* otherLibrary2; @property (assign) BOOL flag; @end Libraryというクラスを作り、そこでOtherLibrary1とOtherLibrary2をpublicなpropertyとする場合、当然のごとくOtherLibrary1とOtherLibrary2のimportが必要なわけですが、なにも考えずにヘッダーファイルでO

          Horiuchi_H
          Horiuchi_H2012/08/17非公開
          objective-cだけでなく、CやC++でも原則は同じですね。
          • JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)

            CERTコーディングスタンダードの利用条件/著作権・免責事項 00. はじめに 01. プリプロセッサ (PRE) 02. 宣言と初期化 (DCL) 03. 式 (EXP) 04. 整数 (INT) 05. 浮動小数点 (FLP) 06. 配列 (ARR) 07. 文字と文字列 (STR) 08. メモリ管理 (MEM) 09. 入出力 (FIO) 10. 環境 (ENV) 11. シグナル (SIG) 12. エラー処理 (ERR) 13. ApplicationProgramming Interface (API) 14. 並行性 (CON) 49. 雑則 (MSC) 50. POSIX (POS) AA. 参考情報 BB. Definitions CC. 未定義の動作 DD. 未規定の動作 XX. お問い合わせTop へ 00はじめに このページでは、JPCERTコーディネーショ

            JPCERT C Secure Coding Standard 日本語版 - プリプロセッサ (PRE) (#c01)
            • پاسور انلاین

              پاسور انلاین پاسور انلاین پاسور انلاین,پاسور انلاین شرطی,بازی انلاین پاسور حکم,سایت پاسور حکم آنلاین,پاسور آنلاین برای کامپیوتر,پاسور حکم آنلاین شرطی,سایت بازی پاسور آنلاین,بازی آنلاین پاسور 4 برگ,دانلود مستقیم پاسور انلاین…

              • 4277075694とは何か - 西尾泰和のはてなダイアリー

                Windows環境でコードを書いていたらなぜかとある変数の値が4277075694とかいう謎の値になっているのを発見。なんだろうこれは?と調べてみたらこれ16進表記すると0xFEEEFEEEで、HeapFree()が呼ばれたあとの領域がこれで埋められるんだそうな。 0xBAADF00D : 3131961357 : HeapAllocした領域 0xFDFDFDFD : 4261281277 : mallocした領域の前後2バイト 0xCDCDCDCD : 3452816845 : mallocした領域 0xDDDDDDDD : 3722304989 : freeした領域 0xFEEEFEEE : 4277075694 : HeapFreeした領域詳しいことはここにわかりやすい表があったのでそれを見るといいと思う: Win32 Debug CRT Heap Internals

                4277075694とは何か - 西尾泰和のはてなダイアリー
                • Windows(VC++)でunistd.h - 萌えの値段

                  Unix開発をVCでしろ、ソースにはVCの跡を残すな、って無茶な要求だけどしょうがない。 UnixメインのソースをVCでコンパイルする際に問題になることの一つがunistd.h。 gethostnameとかgetpidを使いたい場合に必要になってくる。 とりあえず動くように適当にヘッダを作ってみた。 //<unistd.h>をWindowsで使用するための定義 #ifndef _UNISTD_H_ #define _UNISTD_H_ #ifdef _WIN32 #pragma once #include <io.h> /* access chmod chsize closecreat dup dup2 eof filelength isatty locking lseek mktemp open read setmode sopen tell umask unlink write */

                  Windows(VC++)でunistd.h - 萌えの値段
                  • LL/SC based Lock-Free Queue - マルチコア時代の"データ構造とアルゴリズム"再入門

                    データ構造とアルゴリズム再入門 はじめに ・並{行|列} & {Lock|Wait}Free ・ABA & ABA' ・volatile & メモリバリア ・プリミティブ ・CAS ・MCAS ・STM ・メモリ管理:free & GC ・Toots List & Skiplist [単方向List] ・リスト ・細粒度リスト ・Lazyリスト ・Lock-Freeリスト ・Lock-Freeリスト2 [SkipList] ・スキップリスト ・Lazyスキップリスト ・Lock-freeスキップリスト [双方向List] Queue & PriorityQueue [UnBounded Queue] ・Queue ・CAS based Lock-Free Queue ・LL/SC based Lock-Free Queue [Unbounded Priority Queue] ・Heap

                    • やっぱりポインタのポインタは難しいようです — ありえるえりあ

                      アリエルでは、プログラマとして応募してきた人に出すための設問を用意しています。現在、C版とJava版があります。 C版の作成は古くて、正直、もう廃棄してもいいかなと思わないのでもないですが、Javaは未経験でC/C++の経験はあります、という人はいますし、そういう人はいわゆるなんちゃってJavaプログラマよりは相対的に能力が高い傾向にあるのでC版も残しています。 最近、立て続けに、他は完璧な回答なのにポインタのポインタが絡む設問だけは間違い、という回答を受け取りました。結果引数(引数で値を返す関数。Cでは必要悪)で、返す値がポインタ値なので、引数の型をポインタのポインタにする必要がある設問です。他の設問で、ポインタを理解しているように見えました。しかし、ポインタのポインタが分からないということは、ポインタをきちんと分かっていないと判断せざるをえません。 昔なら一発でダメ出ししていたのですが

                      Horiuchi_H
                      Horiuchi_H2010/01/28非公開
                      C++なら、リファレンスを主に使うからポインターのポインターは基本的に排除できるはず。と言うか、使いたくないな。
                      • 最新Cコンパイラーの最適化事情 - Radium Software

                        State of the art C compiler optimization tricks, Felix von Leitner,Linux Kongress 2009. 最近のCコンパイラーの最適化能力についてまとめたプレゼンテーション。定数の扱いやインライン展開などの基的な項目から始まって,分岐の削除やベクトル化,SIMD 化など,最新のコンパイラーに搭載されている様々な機能について調べている。 この手の分岐の削除はほとんどのコンパイラーで有効らしい。 ベクトル化については gcc がだいぶ頑張っている印象。 「gcc は全プラットフォームにおいてビデオコーデックプログラマーより賢い」 これらの最適化が実際のコードでどのように機能するか気になって逆アセンブリコードを覗いてみる人も少なくないと思うけれど,それを代わりにやってくれた感じだ。この手の話題に興味がある人ならば,目を通

                        最新Cコンパイラーの最適化事情 - Radium Software
                        • 初級C言語Q&A(15)

                          初出: C MAGAZINE 1996年8月号 Updated: 1996-09-21 [←1つ前] [→1つ後] [↑質問一覧] [↑記事一覧] [ホームページ] 今回は、よく知られているけどちょっと分かりにくいアルゴリズム、あるいは、 今までの連載で出てきたトリッキーなコードについて、どのような原理で動作す るのかを紹介してみようと思います。ただし、一般論として、凝ったコードより も分かりやすいコードの方が価値がある場合が多いということも頭に入れておい てください。 凝ったアルゴリズム Q 【曜日の求め方】 Comp.lang.c FAQ listを見ると、曜日を求める関数として次のものが紹介され ていた。 dayofweek(y, m, d) /* 0 = Sunday */ int y, m, d; /* 1 <= m <= 12, y > 1752 or so */ { stat

                          • Cだけプログラマの憂鬱 - 神様なんて信じない僕らのために

                            それ、C関係ないのでは - プログラミング言語を作る日記 それC関係ないよね、というのはきむら(K)さんや、id:minekoaさんにも言われたことですが、 実行時のチェックがない。よって、配列のオーバーラン、不正なキャスト、開放されたメモリを参照する、といった理由でのバグが発生し、原因追及が非常に困難。 GCがない。 それ、C関係ないのでは - プログラミング言語を作る日記 うーん、ここは少し観点が違うかなと思います。C++でも、配列はオーバーランするし、Cスタイルキャストで苦しむし、 解放されたメモリを参照するなんてことは日常茶飯事に起こるわけで、 これらを解決する手段として、C++では、 可変長配列としてstd::vectorを利用する 固定長配列としてboost::arrayを利用する キャストはstatic_castだけを使う(reinterpret_castはCの構造体を読み

                            Cだけプログラマの憂鬱 - 神様なんて信じない僕らのために
                            Horiuchi_H
                            Horiuchi_H2008/12/18非公開
                            いわゆる昔のコーディングスタイル、ですね。
                            • C(++)言語: valgrindの使い方

                              ubuntu% uname -aLinux ubuntu 2.6.12-10-386 #1 Sat Mar 11 16:13:17 UTC 2006 i686 GNU/Linux ubuntu% valgrind --version valgrind-3.0.1 (0) 目次 Valgrindに含まれるツール Memcheck: メモリエラーを検出する(default) Cachegrind: キャッシュミスを検出する Massif: ヒーププロファイラを使う まとめ valgrindの使い方とエラーメッセージを整理してみた。「valgrind --leak-check=full command」というコマンドラインをよく用いる。これによりメモリ周りのバグを検出出来る。 --tool=cachegrindではプログラム実行時のキャッシュミス率を測定する事が出来る。cg_annotateを

                              • 息を吸うように objdump 2007-12-16 - 兼雑記

                                このへんで書いた、どうなってるか自信が無いことがあったらとりあえず objdump しちゃえという話…とか言うと「アセンブリは…」みたいな雰囲気になることが多い気がするんですが、正直アセンブリなんか読めなくてもコードがどうなってるかくらいはわかるよん、という当たり前の話。 #include <stdio.h> struct S { explicit S(int x) : x_(x) {} int x() const { return x_; } int x_; }; int main() { S s(3); printf("%d\n", s.x()); } とりあえずこんなコードをインライン化されるか知りたいとする。とりあえず -g つきでコンパイルして objdump 。 % g++ -g inline.cc -o inline % objdump -S -C inline | lvコツ

                                息を吸うように objdump 2007-12-16 - 兼雑記
                                • データ型のアラインメントとは何か,なぜ必要なのか?

                                  以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

                                  Horiuchi_H
                                  Horiuchi_H2007/09/19非公開
                                  アライメントとは
                                  • 三項演算子の正しい書き方

                                    C・C++JavaPerl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to

                                    Horiuchi_H
                                    Horiuchi_H2007/07/28非公開
                                    コードの書き方の話。コーディングスタイルやその場その場で見やすいように書けば良いのでは?3項演算子を書くときはだいたい短く書きたい時だし(その時は改行はメンドイ)、3項演算子を続けるときは改行してたし
                                    • Geekなぺーじ:C言語が嫌いな理由

                                      「Why I hate C」という記事がありました。 私は個人的にはC言語が好きですが、C言語が嫌だという視点も面白いので要約してみました。 かなり削っているので詳細は原文をご覧下さい。 C言語は組み込みに使うには良い言語ですが、その他の99.9%のアプリケーションを作るには最適とは言えません。 現在、アセンブラが一般的なアプリケーションを書くための良い解では無いことは自明です。 ここでは、もはやC言語もそうでは無い理由を述べたいと思います。 C言語の最も大きな問題はプログラマが間違いを犯しやすい事です。 私も良く間違えます。 どんなプログラマであっても数千行のコードを書いてバグが一つも無いということはありません。 コード量が少ないということは間違いの数も少ないということになります。 C言語は、言語のデザイン上、より多くのコードを書く事を要求します。 また、新しく開発されたプログラミング言

                                      Horiuchi_H
                                      Horiuchi_H2007/01/05非公開
                                      僕ももう、Cは触りたくない。C++もしかり・・・。
                                      • 普通のやつらの下を行け: C でバックトレース表示 - bkブログ

                                        普通のやつらの下を行け: C でバックトレース表示 普通のやつらの下を行けの第2回として、今回は glibc の関数を使って C でバックトレース (スタックトレース) の表示を行ってみます。 バックトレースとは バックトレースとは、大ざっぱに言うと、現在の関数に至るまでの道筋です。たとえば、次のRuby プログラムを実行すると、 1 / 0 の行で例外が発生して、バックトレースの表示とともにプログラムは異常終了します。 def foo 1 / 0 end def main foo end main この例では main から foo を呼び foo の中の 1 / 0 の部分で例外が発生しています。 %ruby divide-by-zero.rb divide-by-zero.rb:2:in `/': divided by 0 (ZeroDivisionError) from div

                                        Horiuchi_H
                                        Horiuchi_H2005/10/25非公開
                                        スタックトレースの表示。glibが必要。
                                        • 残りのブックマークを読み込んでいます1

                                        お知らせ

                                        公式Twitter

                                        • @HatenaBookmark

                                          リリース、障害情報などのサービスのお知らせ

                                        • @hatebu

                                          最新の人気エントリーの配信

                                        処理を実行中です

                                        キーボードショートカット一覧

                                        j次のブックマーク

                                        k前のブックマーク

                                        lあとで読む

                                        eコメント一覧を開く

                                        oページを開く

                                        はてなブックマーク

                                        公式Twitter

                                        はてなのサービス

                                        • App Storeからダウンロード
                                        • Google Playで手に入れよう
                                        Copyright © 2005-2025Hatena. All Rights Reserved.
                                        設定を変更しましたx

                                        [8]ページ先頭

                                        ©2009-2025 Movatter.jp