タグ

c_langに関するcu39のブックマーク (47)

  • C/C++のビルドの仕組みとライブラリ - かみのメモ

    研究でVisual C++を書くうちに、そういえばリンカとかライブラリの仕組みを理解していなかったな、と思ったので色々調べてみました。 書きやすいからという理由で説明口調の文章にしていますが、多分に間違いを含む可能性があります!(オイ) 気付いた部分があればコメントしていただけるとありがたいです。 ※ 2018/12/01 : #pragma once周りを追記しました ※ 2018/12/23 : ライブラリを使うためのビルド設定の話を追記しました スポンサーリンク もくじ 1. ビルドとは 2. C/C++のビルドの仕組み 2.1. プリプロセッサ 2.2. コンパイラ 2.3. アセンブラ 2.4. リンカ 3. ライブラリの種類と仕組み 3.1. ソースコードを配布 3.2. 静的リンク(static linking) 3.3. 動的リンク(dynamic linking) 3.4

    C/C++のビルドの仕組みとライブラリ - かみのメモ
  • 表紙 - 本物のC

    このサイトは「物の C 言語」について学習する機会の提供を目的としています。 「物の」とはつまり、 標準規格(仕様)が C 言語をどういうものとして定めているか C プログラムが実際に CPU をどう動かすか という二つの意味合いに於いてです。 どうも巷間にはその辺りを気にせず何となくで書かれた資料が多い様なので、このサイトにより少しでも世界が最適化される事を期待します。 権利について 当然ですがこのサイト全体は著作権法により保護されています。法と良心に則って御利用下さい。 連絡はcontact<アット>real-c.infoまで。

  • 論文紹介: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 - みずぴー日記

    ICSE 2016勉強会に参加するために論文リストを確認していたら、40年間のC言語のプラクティスの変遷を追った論文がおもしろかったので紹介する。 対象の論文 論文: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 論文中で使われれたデータ: https://github.com/dspinellis/unix-history-repo 要約 過去40年間のUnixのソースコードを分析し、コーディングスタイルの変化を調査した。その結果、以下のことが分かった。 新しい言語機能は価値のあるものならば採用される レジスタ割り当てをコンパイラに任せるようになる スペースをどこにいれるかなどのコードの書き方が統一されていく 分析対象 1972年以降にリリースされた計66個

    論文紹介: The Evolution of C Programming Practices: A Study of the Unix Operating System 1973–2015 - みずぴー日記
  • Teaching C – Embedded in Academia

    The other day Neel Krishnaswami mentioned that he’s going to be teaching the C class at Cambridge in the fall, and asked if I had any advice about that topic. Of course I do! In fact the response got so long that it ended up being a blog post. My main idea is that we need to teach C in a way that helps students understand why a very large fraction of critical software infrastructure, including alm

  • http://cslibrary.stanford.edu/101/EssentialC.pdf

  • 2016年、C言語はどう書くべきか (前編) | POSTD

    (訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり

    2016年、C言語はどう書くべきか (前編) | POSTD
  • Projects/Vala - GNOME Wiki!

    Language Website For general information about Vala, see the website: vala.dev Introduction Vala is a programming language using modern high level abstractions without imposing additional runtime requirements and without using a different ABI compared to applications and libraries written in C. Vala uses the GObject type system and has additional code generation routines that make targeting the GN

  • GitHub - silentbicycle/greatest: A C testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed.

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - silentbicycle/greatest: A C testing library in 1 file. No dependencies, no dynamic allocation. ISC licensed.
  • Little Color Management System

    Welcome Here you will find tools and support for color enthusiasts Including the world-acclaimed LittleCMS color engine We offer trainings and we do custom development too Open Source CMM FREE under MIT license Written in C99 Widely Portable Fast and accurate Mature, evolving since 1998 color management Industrial color management ICC standards Prepress CMYK Contract proofing Embedded systems Spot

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

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

    cu39
    cu39 2011/10/13
    ジョブズのときに「あの人やこの人もいずれ亡くなるんだよな」と想起したうちの一人だった。冥福を。
  • 総合目次 - 苦しんで覚えるC言語

    苦Cの内容の転載などは自由ですが、苦Cからの引用であることを明記してください。 (どこかに「苦Cより」と書かれていればOKです。) 学校や会社などで生徒(新入社員)へのテキストとして使用することも自由です。 その際、内容を修正したり、印刷して配布するのも自由です。 サイトについて 苦しんで覚えるC言語(苦C)は C言語入門サイトの決定版です。 C言語の基機能を体系立てて解説しており、 市販書籍と同等以上の完成度です。

    総合目次 - 苦しんで覚えるC言語
  • Conal Elliott » The C language is purely functional

    Inspirations & experiments, mainly about denotative/functional programming in Haskell There has been a scurry of reaction on twitter and reddit to Robert Fischer’s post saying that Scala is Not a Functional Programming Language. James Iry responded by saying that analogous reasoning leads to the conclusion that Erlang is Not Functional My first inclination was to suggest that Haskell, as commonly

  • コンパイラ オプション

    更新 : 2007 年 11 月 cl.exe は、Microsoft C および C++ のコンパイラおよびリンカを制御するツールです。cl.exe が実行できるのは、Microsoft Visual Studio をサポートするオペレーティング システム上だけです。詳細については、「Visual Studio のエディションとハードウェア要件」の表の「オペレーティング システム」行を参照してください。 メモ : コンパイラは、COFF (Common Object File Format) 形式のオブジェクト (.obj) ファイルを生成します。リンカは、実行可能 (.exe) ファイルまたはダイナミック リンク ライブラリ (DLL: Dynamic-Link Library) を生成します。 すべてのコンパイラ オプションで、大文字小文字を区別します。 リンクせずにコンパイルするに

    コンパイラ オプション
    cu39
    cu39 2010/05/03
    VS2008 VC++版。
  • gcc のデバッグ術

    Unix系コマンドラインユーザーのための、 gcc/g++/g77 による開発におけるデバッグ術を簡単に紹介します。 以下の内容は gcc 2.7.2.3 での動作は確認しています。 g++/g77 でも恐らくは通用すると思うのですが、 ひょっとすると異なる部分があるかもしれません。 筆者は g++/g77 の使用経験がないので、その場合は御容赦を願います。 実行前 キーワード「コンパイルオプション, -Wall, -O2, -O4」 まずは gcc にオプション opt'-Wall' を付けてコンパイルし、 警告がなくなるまでソースを修正します。 これは 常識 です。 次に opt'-O4 -Wall' でコンパイルします。 「未初期化変数の使用」の警告 (`foo' might be used uninitialized in this function) は、 opt'-O4' を付

  • プログラミング言語Cについて知ろう

    プログラミング言語の基となる「C」。正しい文法や作法を身に付けよう。Cには確かに学ぶだけの価値がある(編集部) プログラミング言語Cは開発の仕事に役立つ人気のあるプログラミング言語です。 この連載では、Cでのソフトウェア開発をこれから始めようという方や、使った経験はあるが勉強し直したいという方のために、基をきちんと押さえながら勉強できるような解説をしていきます。 なるべく正しい文法や作法を身に付けていただくためにJIS規格を基に解説しますが、それだけにこだわらず実際の開発で役に立つことを分かりやすくお伝えしていきます。 Cの成り立ちと規格 まずは、Cの成り立ちと規格について知っておきましょう。ちょっと堅苦しい感じがするかもしれませんが、歴史を知っているとなぜこういう書き方をするのか、こういった機能があるのかといったことが分かります。また、規格を知っているとプログラミングをしていて何か

    プログラミング言語Cについて知ろう
  • 連載 よくわかるC言語----目次:ITpro

    この連載に目を止め,「読んでみようか」と思ってくれた皆さんは,これまで,どんなプログラム言語の経験があるでしょうか? 「JavaScriptなどのWeb系のスクリプト言語はよく使う」,「Visual BasicやJavaでアプリケーションを作っているのだけど,基を確認したくて…」,あるいは「連載1回目だし,これからプログラミングを学びたい」など,いろいろな方がいらっしゃると思います。 連載は,「C言語」というプログラミング言語の“定番”を通して,あらゆるプログラミングに共通する基礎となる部分を,じっくり解説していきます。初心者の方はもちろん,プログラミング経験のある方も自分の知識を再確認するのにきっと役立つと思います。 ・第1回 もう一度,C言語から始めよう ・第2回 変数の性質を理解しよう ・第3回 制御構文がわかればプログラムの「流れ」がわかる ・第4回 変数のスコープをアドレスを

    連載 よくわかるC言語----目次:ITpro
  • C言語を使ったコンソールアプリケーションの作成 コマンドラインオプションの解析方法

    はじめに C#やVB.NETを用いることで手軽にGUIアプリケーションが作れるようになったとはいえ、ちょっとしたツールを書くときなどは、手軽さからC言語を使ったCUIのプログラムにしてしまうことが多いのではないかと思います。このようなCUIベースのツールを作るとき、よく使うのに面倒な処理としてコマンドラインオプション(以下オプション)の解析が挙げられます。 そこで稿では、PC-UNIX系の環境でよく使われるgetopt関数をC言語から使う様子を紹介しながら、同様の方法をWindows上で実現するための方法について説明します。 対象読者 C言語を理解していて、getopt関数を使ったオプションの解析方法を知りたいという方 なお、サンプルプログラムはすべてC言語で書かれており、Debian GNU/Linux + gcc 4.3でコンパイルと動作確認を行っています。また、Windows向けに

    C言語を使ったコンソールアプリケーションの作成 コマンドラインオプションの解析方法
  • XS利用でPerl高速化 その2 - ひげぽん OSとか作っちゃうかMona-

    前回は、XSモジュールを使うと処理が高速になる可能性があるという紹介をしました。 ただしXSモジュールの導入にはデメリットもあります。 C言語で実装しているという関係上、 モジュール変更のたびにリコンパイルが必要である メモリリークの危険性がある Perlの管理下にないメモリは自分で解放しなければなりません(詳細は後日) プラットフォーム間での互換性が保てない リコンパイルや修正が必要な場合が多い PerlのXSバージョンに左右される場合がある Perl単体のときと比べてデバッグが難しい などなど、クリアすべき点があります。 というわけで使いどころとしては、 Perlのコードで速度的にボトルネックになっている部分があり そのコードの仕様はほぼfixしている(変更が入る可能性は少ない) というような場合に、XSで処理を書いてみて、ベンチマークをとってみるという形が良いと思います。 なおXSに

    XS利用でPerl高速化 その2 - ひげぽん OSとか作っちゃうかMona-
  • ひげぽん OSとか作っちゃうかMona- - [Perl] XS利用でPerl高速化

    (追記:2009/03/25) id:tokuhirom さんからコメントを頂きました。このベンチマークは問題があるそうです。 http://d.hatena.ne.jp/higepon/20050615/1118829090#c (追記:終わり) PerlにはC言語で書かれた関数を呼び出すためにXSという仕組みが存在します。 一部CPANモジュールでも使われているためご存知の方も多いと思いますが、今回はこのXSの簡単な利用方法を紹介したいと思います。 なおXSは、はてなでも使用しています。 さてXSモジュールを使うとうれしい事は C言語で書くことにより、処理が高速になる可能性がある 既存のC言語ライブラリ資産をPerlから利用することができる Perlがあまり得意でない、メモリ内などに存在するビット単位での細かなデータ構造を、あれこれできる などが挙げられると思います。 今回は、高速化に

    ひげぽん OSとか作っちゃうかMona- - [Perl] XS利用でPerl高速化
  • IT総合学部長 石田晴久の逝去について | サイバー大学

    サイバー大学IT総合学部長 石田晴久(1936年10月30日生、満72歳)は、2009年3月9日(月曜日)午前7時00分、心筋梗塞のため東京都内の病院にて逝去いたしました。 ここに生前のご厚誼を深謝し、謹んでお知らせいたします。 なお、通夜、葬儀・告別式(喪主:長男 石田謙武 氏)は近親者のみにて執り行います。(ご遺族の強い希望により、日時・場所等に関しましては、公表を差し控えさせていただきます) また、誠に勝手ながら、ご香典、ご供花、ご供物の儀は固くご辞退申し上げます。