タグ

programmingとCに関するlimitususのブックマーク (12)

  • 第22回・国際難解Cコードコンテストの入賞コードが公開される | スラド デベロッパー

    国際難解Cコードコンテスト(International Obfuscated C Code Contest、IOCCC)第22回で入賞したソースコードが同サイトで公開された。 IOCCCは、「故意に読みづらいC言語のコードを書き、その汚さなどを競うというハッカーの奇祭」(Wikipediaより)。 複数の部門があり、それぞれ入賞コードが挙げられているが、日人では遠藤侑介(Yusuke Endoh)氏が「Most tweetable 1-liner」wおよび「Most lazy SKIer」、「Most recyclable」、「Most solid」の4部門で入賞している。それぞれのコードは遠藤氏のブログで解説されている(「Most lazy SKIer」と「Most recyclable」のコードの解説、「Most tweetable 1-liner」と「Most solid」のコード

  • ポインタの裏話

    ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||

  • ソースコードの脆弱性をチェックするツール、IPAが無償公開。C言語に対応

    IPA(独立行政法人情報処理推進機構)は、 C言語で作成されたソースコードに脆弱性が存在しないかどうかを検査するツール「iCodeChecker」を公開しました。無償で利用できます。 iCodeCheckerは、ソースコードの脆弱性が存在する箇所を検出し、修正例や脆弱性が悪用された場合の脅威についてのレポートを出力するツール。プレスリリースから引用します。 ツールは、脆弱性やソースコード検査技術を学習したい学生や開発者を対象に、利用者自身が作成したソースコード(C言語)を検査することできます。 ツールでは、ソースコードの脆弱性が存在する箇所を検出し、修正例や脆弱性が悪用された場合の脅威について解析したレポートを出力します。利用者はツールを通して、脆弱性を学習するとともに、ソースコードセキュリティ検査技術の有効的な活用方法を習得することができます。 配布形式は、VMイメージ、パッケージ

    ソースコードの脆弱性をチェックするツール、IPAが無償公開。C言語に対応
    limitusus
    limitusus 2012/05/09
    構造体なしとかANSI Cとか、ちょっと制約きつめかなー
  • Programming UNIX Sockets in C - Frequently Asked Questions: クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問

    Previous Next Table of Contents 2. クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問 2.1 相手側のソケットが閉じられたことをどうやって知ることができますか? Andrew Gierth 氏 ( andrew@erlenstar.demon.co.uk) より: 私の知る限り… 相手側が (SO_LINGER を使ったややこしいことをしないで) close() するか終了したとすると、こちらの read() の呼び 出しは 0 を返すはずです。同じ場合で、write() 呼び出しで何が 起こるかは、もうちょっとわかりづらいです。直後の呼び出し時ではな く、その次の呼び出し時にEPIPE が返るでしょう。 もし相手が再起動するか l_onoff = 1, l_linger = 0 を設定して から閉じたとすると、read() からは(

  • データ型のアラインメントとは何か,なぜ必要なのか?

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

  • SGLIB - A Simple Generic Library for C

    1.) What is it about? Sglib is a library defining useful macros for manipulating common data structures. The library currently provides generic implementation for: sorting arrays manipulating linked lists manipulating sorted linked lists manipulating double linked lists manipulating red-black trees manipulating hashed containers A basic set of functions (macros) is provided for each data structure

  • いろいろな言語のコーディング規約,スタイルガイドのリスト — TRIVIAL TECHNOLOGIES 2.0

    みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー プログラミング言語(C#,VB,PHP,C/C++PythonJavaRubyJavaScript,Objective-C)やHTMLのコーディングスタンダードを集めたリストを発見しました。日語訳があるものはできるかぎり探し出して,括弧のなかに併記して補ってあります。微妙に古いのが混じってるかな。Rubyは日発のコーディング規約がある気がする(まつもとさんの日記を見つけた)。 元記事にPerlのスタイルガイドがなかったんだけど,モダンなPerlスタイルガイドがあったら教えて欲しいです:-)。 PythonにはPEP8というコーディングスタイルガイドがあってよく読まれることは

  • コンソールでプログレス表示(アニメーション)(3) - C言語 - 碧色工房

    サイトトップ 過去のコンテンツ C言語 コンソールでプログレス表示(アニメーション)(3) プログレス表示の方法について書きなおしています。以下を参照ください。 コンソールによるプログレス表示 エスケープシーケンスによるスクリーン制御の利用 エスケープシーケンスと呼ばれるスクリーン制御用のコードを利用して画面表示を行う方法を説明します。 今確認したところどうやら、 Windows 2000 のコマンドプロンプトではこれは使えないようです(Cygwin のコンソールなら OK)。 MS-DOS プロンプトや Linux の kterm などでは使えるようですが・・・ ここまでくると、システムコールとか使わないといけないような気もしますがとりあえずやってみましょう。 エスケープシーケンスについては第6回エスケープシーケンスを参照してください。 #include <stdio.h> #inclu

    コンソールでプログレス表示(アニメーション)(3) - C言語 - 碧色工房
  • エスケープシーケンス - C言語 - 碧色工房

    サイトトップ 過去のコンテンツ C言語 エスケープシーケンス コンソール制御について、より詳しく、実際の出力例などを上げながら、 まとめたページを作りましたので以下も参照ください。 エスケープシーケンス ANSIエスケープコード コンソールグラフィック CUI のコマンドラインで動くプログラムを書く上でカーソルの位置などをコントロールできたらと思うことがあります。 こいつを実現するには、「エスケープシーケンス」というものを使います。 しかし、このエスケープシーケンスはハードウェアやOSに依存した部分が多いので注意が必要です。 とりあえず、 Windows 2000/XP (おそらく NT も)のコマンドプロンプトでは機能しない ※ことを確認しました。(ただし、 Cygwin 上では使用可能でした) MS-DOS プロンプトでは一部動くことを確認しました(一部が動いたのではなく、一部確認した

    エスケープシーケンス - C言語 - 碧色工房
  • フリーソフトウェア徹底活用講座(5)

    ここでは,GCCの実行時に影響を及ぼす環境変数について記します. ファイルを探索する際に利用されるディレクトリ,または接頭語を指定することによって作用を及ぼします.また,環境変数はコンパイル環境の他の側面を指定するためにも使われます.探索される場所については,-B,-I,-Lのようなオプションを使うことによっても指定可能であることに注意してください(第4回で説明した「ディレクトリ探索のためのオプション」を参照). もちろん,コマンドラインオプションによる指定は,環境変数による指定よりも優先されます.一方,環境変数による指定は,GCCのコンフィグレーションにおける指定よりも優先されます. ● LANG ● LC_CTYPE ● LC_MESSAGES ● LC_ALL 以上の環境変数は,異なる国の慣習をサポートできるようにGCCがローカライズ情報を使う方法をコントロールします. GCCは,c

  • Simple hash table and binary searching library in C

    "simple_hashing": Hash table and binary searching library in C  Happy Hacking! English Here (machine translation)simple_hashing: データ要素の差換え・削除が可能なハッシュ・テーブルと二分探索のライブラリこの C 言語ライブラリは、探索キーとなる複数の文字列からハッシュ値を求める形式のハッシュ・テーブル・データ構造とそれを扱う API を提供しています。このハッシュ・テーブルではデータの挿入・差換え・検索・削除が可能です。 複数のデータ要素のハッシュ値が同一になった場合 (ハッシュ値の衝突)、それらのデータ要素はすべてハッシュ・テーブル構造のエントリが指すデータ要素配列にソートされたうえで追加されていきます。ハッシュ値が衝突するデータ要素のいずれかを探索するために二

  • A garbage collector for C and C++

    Where to get the collector Platforms Scalable multiprocessor versions Some collector details Further reading Current users Local links for this collector Local background Links Contacts, Updates, and Reporting Issues Translations of this page [ This is an updated version of the page formerly at http://www.hpl.hp.com/personal/Hans_Boehm/gc, and before that at http://reality.sgi.com/boehm/gc.html an

  • 1