タグ

cとprogrammingに関するclavierのブックマーク (18)

  • インフラ部門で働くCプログラマの話

    12. miruo Pretty-Print TCP session monitor/analizer miruo を⼀⾔で説明するなら「⾒やすい tcpdump」です。当社⽐10倍です、ISUCON 勢に オススメです。TCPセッション毎にパケットをまとめて出⼒するため、パケットの流れが格 段に追いやすくなります。また、問題のなさそうなパケットはあえて省略して表⽰しないの で、興味のありそうなパケットだけが出⼒されます。 $ ./miruo --all -i en0 -m http tcp port 80 listening on en0, link-type EN10MB (Ethernet), capture size 1522 bytes 0001 0.048 | 10.0.0.100:62511 == 125.6.190.6:80 | Total 21 segments, 133

    インフラ部門で働くCプログラマの話
  • Linuxコマンドのソースコードを取得する方法:オリジナルコマンド作成前の勉強向け - Qiita

    追記 以下の情報では、不足があったため、自サイト(debimate.jp)に加筆版をUPしています。 #前置き CQ出版社のInterface誌(2016年10月号)に、「レベルアップ! オリジナル・コマンドを 作る」という記事がありました。 この記事中では、C言語(高速な言語)による自作コマンドの作成について、少しだけ触れられていました。 残念な事に、C言語による具体的な作成方法が記載されていませんでした。 この理由には、「紙面の文字数制限」、「bashの特集記事であった事」が考えられます。 C言語で自作コマンドを作成する上で、以下の2点が必要な情報ではないかと考え、 私は、ついカッとなって、記事を作りました(ついでに、Interface誌にもアンケートを出しました)。 ・自作コマンド作成時の参考(既存コマンドのソースコード)の取得方法 ・自作コマンド(実行形式ファイル)の格納先 ちな

    Linuxコマンドのソースコードを取得する方法:オリジナルコマンド作成前の勉強向け - Qiita
  • C/C++プログラマのための開発ツール - Cybozu Inside Out | サイボウズエンジニアのブログ

    サイボウズ・ラボの光成です。 先日、社内で主にLinux上でC/C++を用いている開発者向けの講義をしました。 「こんなことができる」と知ってもらい、興味を持てば各自で勉強してもらおうと広く浅くツールを紹介しました。 gtags, ASan, Valgrind, addr2line, cppcheck, SystemTap, perfなどです。 興味があれば講義資料「C/C++プログラマのための開発ツール」をごらんください。 コンパイラオプション 受講者には新人やサイボウズ・ラボユースの学生もいたので基的なところから紹介しました。 C/C++コンパイラを使うときはできるだけ警告オプションをつけるのが望ましいです。 警告が出るのは自分のコードの書き方に不備があることが多いからです。 gccやclangでは-Wall -Wextraは基としてそれ以外にも有用なオプションがあります(C++

    C/C++プログラマのための開発ツール - Cybozu Inside Out | サイボウズエンジニアのブログ
  • 別のプロセスにファイルディスクリプタを転送する - Blog by Sadayuki Furuhashi

    UNIXドメインソケット経由でファイルディスクリプタを別のプロセスに渡すことができるらしいと言うことで、試してみました。Manpage of UNIX Manpage of SEND 標準出力を別のプロセスに渡してみます。渡された側のプロセスは、自分の標準入力からの入力を、渡された標準出力に出力しています。 ライブラリ(fdtransport.h): #ifndef FDTRANSPORT_H__ #define FDTRANSPORT_H__ #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <sys/socket.h> #include <sys/un.h> #include <fcntl.h> #include <string.h> /* UNIXドメインソケットを待ち受ける */ /*

    別のプロセスにファイルディスクリプタを転送する - Blog by Sadayuki Furuhashi
  • C言語のポインタ構文のつまづきどころ - Qiita

    C言語のポインタの構文でつまづきやすいポイントについて紹介し、このように考えるとわかりやすいという私なりの方法も書かせていただきます。規格書の内容を解説しているわけではないのでご承知おきください。 ポインタとは ポインタ (pointer)とは、あるオブジェクトがなんらかの論理的位置情報でアクセスできるとき、それを参照するものである。有名な例としてはC/C++でのメモリアドレスを表すポインタが挙げられる。(ja.wikipedia.org) ふむふむ。ポインタ=メモリアドレスだな。 注)コメントにて指摘あり。 ポインタ型変数 はい、これがポインタです。って書いても、何を指しているのかよく分からん。*がポインタなのか!と思うひともいれば、*pointerがポインタなのか!と思う人もいるだろう。いや、そもそもポインタってメモリアドレスってさっき言うたやん?これのどこにメモリアドレスがあるんだ?

    C言語のポインタ構文のつまづきどころ - Qiita
  • C言語プログラミングの覚え書き(改訳) - アスペ日記

    原文: Notes on Programming in C Rob Pike 1989年2月21日 Copyright (C) 2003, Lucent Technologies Inc. and others. All Rights Reserved. Lucent Public License Version 1.02 前書き KernighanとPlaugerによる“The Elements of Programming Style” (「プログラム書法」木村泉訳)は重要で影響力のあるです。このにはそれだけの価値があります。しかし、その中の簡潔なルールが、来意図されたような哲学の簡潔な表現としてではなく、よいスタイルのレシピとして受け取られているように私は時々感じます。このが変数名は意味を持つようにつけられるべきだと言うなら、名前が使い方を説明するちょっとしたエッセイのような

    C言語プログラミングの覚え書き(改訳) - アスペ日記
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Rob Pike: Notes on Programming in C

    Rob Pike February 21, 1989 Introduction Kernighan and Plauger's The Elements of Programming Style was an important and rightly influential book.  But sometimes I feel its concise rules were taken as a cookbook approach to good style instead of the succinct expression of a philosophy they were meant to be.  If the book claims that variable names should be chosen meaningfully, doesn't it then follow

  • Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ

    今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ

    Cプリプロセッサメタプログラミングで、文字列系泥沼関数型プログラミング - 簡潔なQ
  • casehack.c - Pastebin.com

    Not a member of Pastebin yet? Sign Up, it unlocks many cool features!

    casehack.c - Pastebin.com
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵

    12ステップで作る組込みOS自作入門 出版社 : カットシステム (2010/05) 発行日 : 2010/05 前回の初めてのC言語で『30日でできる!OS自作入門』の通りに初めてのOSを作ってみた - 三等兵は汎用OSでしたが今度は組込みOSです。参考書は『12ステップで作る組込みOS自作入門 』です。こいつぁすげえや。丁寧に仕上げられた良書でした。 「組込み」とタイトルがついているので興味を示す層が狭そうですが、プログラムを書く多くの人にとって役立つ内容だったと思います。 前回は必死にわかんないーわかんないーを連呼しつつ頭を抱えて苦行みたいな感覚でやっちゃいましたけど、今回はそんな苦労もあったからか余裕を持って楽しめました。 書ではWindowsだけではなくLinuxでも開発できるよう解説されているのでどんな環境でも問題ありません。Linux入れるのがめんどくさかった私は例によって

    2回目のC言語で『12ステップで作る組込みOS自作入門 』の通りに組込みOSを作ってみた - 三等兵
  • あなたもできる!C言語でテトリスを40分で作る方法 · DQNEO日記

    デモ ニコニコ動画の伝説の動画 「テトリスを1時間強で作ってみた【実況解説】」という動画をご存知でしょうか? 2009年にニコニコ動画で公開されて話題になった動画です。 インタビュー記事:「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」 この動画ではテトリスをいちから作ってわずか62分で完成させています。 しかし実はスタート直後はMinGWのインストール、EmEditorのインストールに続いてブロック画像の作成などをしており、プログラミングが始まるのは開始13分のところからです。 さらに次の10分は「空のウィンドウ」を作るために時間を使っており、実質的にテトリスのプログラミングが始まるのは動画23分のところからです。 つまり、実質的に40分のプログラミングでテトリスを完成させています。 で、動画を見ながら同じようにやれば誰でもテトリスを作れ

    あなたもできる!C言語でテトリスを40分で作る方法 · DQNEO日記
  • へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking

    この記事はCompetitive Programming Advent Calendar Div2012の2日目の記事です。 12月20日追記: Darseinさんが20日目の記事で、ビット演算についての詳しい説明を紹介してくださっています!必読ですね!!!!:) はじめに Y^´       ∨// /,∠ ,. ' /l/// /, ' , '/ ! | l }´     〈 〉    変  〈/ , ' // ̄`>< /// /// _,.=‐|'"´l l〈  変  / 〈    態.   ∨, '/l|   ,.'-‐、`//`7/  /''"´__ | ハ l丿  態   { 人)   ! !   (/!  |ヽ〈_ ・.ノ〃  〃 /  '/⌒ヾ.! ,' !く   ! !  (_ ト、__/   ヽ、_,.イ    /l l |:::::::```/:::::/...´..

    へ、変態っ!!読めないからやめてっ!bit使ったデータ構造・アルゴリズム実装集 - Negative/Positive Thinking
  • UNIX/Linux/C言語 サンプル多く説明少なく -PG's PocketArms

    当サイトは、UNIX/Linuxにてよく使用されるコマンド/ツールの使用例や言語の入門やコード事例を掲載しております。 深い理解は求めずに、手っ取り早く使えるように、使用例(サンプル)を中心にしています。 情報の正確さには注意を払っておりますが、誤りや適切でない記述を掲載してしまうかもしれません。 当サイトの情報をご利用いただく際は、どうか、ご自身で十分検証を行ってください。 なお、当サイトのをご利用になられて発生した損害については、当方は一切責任を負いかねますので、あらかじめご了承願います。 また、掲載内容についてのご質問はご遠慮願います。

  • C言語のポインタはメモリを想像できれば理解できる | 100% Pure NEET

    最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ

  • エラーハンドリング勉強会で発表してきました - Yet Another Ranha

    発表資料はココで : http://ranha.kerox.info/start_exception.pdf 全体構成は3部です。 しかし、そのうち1つは、Exceptional C++とか(何か聞く所に依るともっと適切ながあるらしいですが)読むと例外安全とか例外中立を一々気にする姿勢について分かるし良いのではないでしょうか、ということの紹介みたいなものなので、実質2つです。 Haskellのパートは,StackのPushを何も気にせず代数的データ構造で表現すると data Stack a = Empty | Push a (Stack a) となって、このPushの型が -- Push :: a -> Stack a -> Stack a Stack aというEmptyであるかもしれない型を返すのが良くない。 更に、PopってPushの逆操作だからーということで pop :: Stac

    エラーハンドリング勉強会で発表してきました - Yet Another Ranha
  • C言語の代表的なウェブリソース10選 - YAMDAS現更新履歴

    Top 10 C Language resources that will turn you into a better programmer - C and C++ Programming Resources 今更 C 言語かと言われそうだが、Linux カーネルだって、我々が利用している LL 言語の多くだってこの言語で書かれているのである。ワタシ自身は未だどの言語よりCを愛している。 以下に C 言語に関してウェブに公開されている代表的なリソースを挙げていく。さすがに更新が長らく止まっているものが多いが、それでも有用な情報源には違いない。ネタ元は Hacker News。 C Programming Notes Programming in C - UNIX System Calls and Subroutines using C. C Lesson by Chris Sawtell

    C言語の代表的なウェブリソース10選 - YAMDAS現更新履歴
  • 1