タグ

Cに関するheiwabokeのブックマーク (31)

  • Linux で C/C++ の足固め: Linux の メモリー/ファイル/mmap と C++ アロケーター

    図の一覧 30.1. メインアリーナ(main_arena)30.2. スレッドアリーナ32.1. 割り当て済みチャンク(allocated chunk)32.2. 割り当て済みチャンクの内部(allocated chunk)32.3. フリーチャンク(free chunk)32.4. フリーチャンクの内部(small free chunk、大きめでない場合)39.1. Unsorted/Small/Large Bins39.2. Large Bins68.1. 一段ページテーブル構成68.2. 二段ページテーブル構成68.3. Linux 三段ページテーブル(Linux 2.6.11以前)

    heiwaboke
    heiwaboke 2023/12/26
  • Exif データにアクセスするコードを自作してみる : DSAS開発者の部屋

    Exif (Exchangeable image file format) は現在出回っているほとんどのデジタルカメラや携帯電話・スマートフォン等での撮影画像のファイル形式として利用されています。画像データそのものに加え機器体や撮影時の設定や環境など多くの情報が記録されることを活かしたソフトウェアやサービスも増えていますね。 先日ちょっとしたアプリを書いていた折に JPEG ファイル内の Exif データを参照する処理が必要になりました。初めての機会だったのでやり方を調べたところ 開発環境向けに用意されたこれこれのライブラリを使うのが常道とのことで、リファレンスを読みながらそういうコードを書きました。プログラムは期待通りに動作しその時はそれで特にどうと言うこともなかったのですが、後日別のプラットフォームで Exif データを利用するアイディアを思いつき、その環境でまた別のライブラリの使い

    Exif データにアクセスするコードを自作してみる : DSAS開発者の部屋
  • Big Sky :: C言語から使えるJSONパーサ、jansson がとても直感的で良い

    おなじみC/C++から使えるJSONライブラリを紹介するコーナー。まずは過去のまとめ。 最速と言われる JSON パーサ「rapidjson」が当に爆速なのか試してみた。 C言語から使えるJSONパーサ、parson が思った以上に良い仕事をしている。 僕がboost::asioとboost::property_treeを使いHTTPプロキシ環境下で非同期にGoogle Search APIから検索するまでにやった、たった一つの事。 C言語から使えるJSONパーサ、JSMNを試してみた。 何も見ずにC++でjsonパーサが書けるか試してみた。 ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い! 最近は結構 matsuu さんのブクマから見つけて記事を書いてたけど今日はそうじゃない所からご紹介。 Jansson — C library for working w

    Big Sky :: C言語から使えるJSONパーサ、jansson がとても直感的で良い
    heiwaboke
    heiwaboke 2013/07/11
    うんこ
  • パワーポイントでC言語プログラミング

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

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

    CODE < ^ > << new | old >> / 2023-03-27

    heiwaboke
    heiwaboke 2012/04/26
    あたまおかしい
  • 8-2. プロセス間通信とバックドア

    IPA ISEC セキュア・プログラミング講座

  • 訃報: C 言語の開発者、デニス・リッチー氏が死去 | スラド デベロッパー

    Google+ で Rob Pike 氏が語ったところによると、C 言語の開発者、K&R の R であるところの Dennis Ritchie 博士が亡くなられた。70 歳 (Rob Pike 氏による Google+ への投稿) 。 長らく闘病中だったとのことで、先週末に自宅で息を引き取ったそうだ。

  • Pythonでおk ─ 書評: C言語によるスーパーLinuxプログラミング

    あのね、このAmazonの内容紹介が あまりにたわけていて ね。 Cライブラリで、効率的にプログラミング! Webアプリの世界ではPHPJavaが格段とポピュラーだが、ハードウェアの操作や ユーザーインタフェース、画像処理などの分野ではC言語でしか扱えないものが多く、近年、現場でのニーズは高い。 書は、プログラミングでの複雑な処理を短時間に組むために用意されたライブラリに焦点を当て、その使い方を解説しました。 データベース・プログラミングからネットワーク、科学技術計算、コンピュータグラフィクスまで、 ライブラリの活用術を身につけ、複雑なコーディングを簡素に実現する。 LinuxのディストリビューションにはUbuntuを採用。 あれですか句読点のところで毎回「なわけねーだろ」とかツッコミ入れる視聴者参加型インタラクティブ漫才か何かですか。SBCの編集会議はよくこれを通したよね。 まあ

    Pythonでおk ─ 書評: C言語によるスーパーLinuxプログラミング
  • 文字列操作は「C言語最大の欠点」か? | スラド デベロッパー

    ITProのコラム「記者の目」は複数の日経BPの雑誌記者が記事にはしにくい個人的な意見などを書いている人気コラムだが、最近「C言語最大の欠点」というタイトルのコラムが掲載された。 どうやらタレこみ子と同世代らしい記者は、C言語最大の欠点を文字列処理であると断じ、特にバッファーオーバーフローの回避のためのコードを書くのが大変なところと論じている。そして、C++でSTLのstringクラスを使うべし、と主張している。 タレこみ子の乏しい経験からいうと、バッファーオーバーフローの問題は確かに大きな問題だが、それは「文字列」処理で起きるというよりは、ネットワークから受信する「データ列」の処理で起きるケースのほうが多いように思う。STLについては詳しくないのだが、stringクラスは'\0'も含みうるデータ列を正しく処理できるのだろうか。 また、バッファーオーバーフローは問題として理解しやすく、コー

  • cmakeの使い方

    ライブラリの導入時なんかにあちらこちらで見かけるcmake、よく使うけどどのサイトに行っても”「cmake .」とやれ”としか書いていない、それだとたまに困る。 というわけでcmakeメモを過去記事を元に再編集してみた。 ちなみに、cmakeとは CMakeはソフトウェアのビルドを自動化するためのクロスプラットフォームなシステムである。 UnixにおけるMakeに相当するものであり、ビルドプロセスは設定ファイルCMakeLists.txtによって完全に制御される。 最終的なソフトウェアを直接にはビルドしない点がMakeとは異なっており、 代わりに、よく使われている標準的なビルドファイル(UnixにおけるmakefileやWindows Visual C++におけるプロジェクト/ワークスペースなど)を生成する。 by Wikipedia みたいなもの 。 ようはダウンドードしたライブラリやア

  • Linux de Programming

    Linuxでの基的なプログラミングに関するページです。 C言語の基 C言語の基講座です。C言語の基の基は知っている人が対象です。 gccとは? gccでHello World! main関数 引数 引数の出力とデバッグ メモリ ポインタ 文字列 argv ポインタ演算 グローバルメモリとスタックメモリ 複数のソースファイルのコンパイルとリンク emacsによるデバッグ make ヒープメモリ 標準出力 標準入力 ファイルからの入力 ファイルへの出力 static 構造体 共用体 アセンブラ 最適化 エラー番号 assertによる診断 関数とポインタ typedef #define システムコールを使ったプログラミング システムコール プロセスID シグナル1:シグナルの登録とハンドラ実行時のブロック シグナル2:main()側からのシグナルブロック シグナル3:その他のシグナル

  • C? Go? Cgo! - The Go Programming Language

    Andrew Gerrand 17 March 2011 Introduction Cgo lets Go packages call C code. Given a Go source file written with some special features, cgo outputs Go and C files that can be combined into a single Go package. To lead with an example, here’s a Go package that provides two functions - Random and Seed - that wrap C’s random and srandom functions. package rand /* #include <stdlib.h> */ import "C" func

    C? Go? Cgo! - The Go Programming Language
  • インデックスを増大/減少させるループとunsigned - 素人がプログラミングを勉強していたブログ

    for (int i = 0; i < N; i++) { /* array[i]を使う */ } というコードについて、iの型はC言語ではsize_tを使うほうが良いのか?という議論から発展して、size_tを使うと減少(降下)ループがきれいに書けなくなる、という問題があがった。 下の話では、size_tが一般的にunsignedであることを踏まえる必要がある。また、Nが1以上であることを仮定している。 for (int i = 0; i < N; i++) { } と対称になる、インデックスを減少させるループ for (int i = N - 1; i >= 0; i--) { } は、unsignedでは成立しない。 for (unsigned i = N - 1; i >= 0; i--) { } iが0の時i--するとunderflowし無限ループになってしまうからだ。少し考えれ

    インデックスを増大/減少させるループとunsigned - 素人がプログラミングを勉強していたブログ
    heiwaboke
    heiwaboke 2010/11/27
    ビット反転
  • 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
  • C言語

    C言語の学習サイトです。C言語入門や仕様解説、サンプルコードの説明等があります。Cを学習して自由自在にプログラミングできるようになりましょう! 3つ理由があると思います。1つは「高級言語でありながら、低水準の面も持つから」です。 解りやすくいうと、人が使う言葉に近い表現でプログラムを記述するプログラミング言語であるが、ハードウェアに密着した処理も容易に記述できる、ということです。 そのため、C言語を学習しておけば、OSやドライバなど、よりハードウェア側のプログラムをつくることも可能です。また、ハードウェアよりの知識を持っていることは、一般のプログラムをつくる上でも非常に役に立つのです。 2つめは「後に開発されたプログラミング言語に大きな影響を与えたから」です。 C言語に影響を受けたプログラミング言語は非常に多く、C++Java、Objective-Cなどがあげられます。awk、csh、J

  • Curl: Re: libcurl work abnormity under aix5307

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 類似画像検索システムを作ろう - 人工知能に関する断創録

    C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます

    類似画像検索システムを作ろう - 人工知能に関する断創録
  • quine リレー - まめめも

    Update (2013-07-15): I improved this program to 50-language version. 50 言語版にパワーアップさせました。 これはこのプログラム自身を出力する Unlambda プログラム、を出力する Whitespace プログラム、を出力する brainfuck プログラム、を出力する Java プログラム、を出力する C プログラム、を出力する Haskell プログラム、を出力する OCaml プログラム、を出力する Lua プログラム、を出力する Perl プログラム、を出力する Python プログラム、を出力する Ruby プログラム、です。 # ruby l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t .s

    quine リレー - まめめも
  • C言語でハッシュテーブルを実装してしまった - へぼいいいわけ

    2ちゃんねるのdatを高速で処理するプログラムを書いていたら、いつのまにかC言語でハッシュテーブルを実装していました。これぞ車輪の再発明って感じです。 名前は「unhash」としておきます。 とりあえず、ダウンロードはこちらです。 http://www.heiwaboke.net/lang-c/src/unhash-0.01.zip 2012/09/16追記 ソースコードを紛失してしまったので、こそこそ改造してたバージョンの方にリンク貼っておきます。 名前が変わってちょっとだけ省メモリ化していますが、大の仕組みと使い方は同じです。 参考程度にどうぞ。 https://github.com/tanaton/unmap ベンチマーク 一番下がunhashです。 ベンチマークの方法はC/C++ で使える HashtableCommentsAdd Starを参考にしました。 tanaton@he