タグ

Cに関するatottoのブックマーク (15)

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

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

    2016年、C言語はどう書くべきか (前編) | POSTD
    atotto
    atotto 2016/02/22
    Go〜!
  • lsを読まずにプログラマを名乗るな! - 秀和システム あなたの学びをサポート!

    LinuxMac OS X、BSD、SolarisといったUNIX系OSにおいて最も身近なコマンドであるlsのソースコード解説書です。UNIX系OSを使っているプログラマであれば、誰でもlsコマンドを日常的に使っていることでしょう。実際、lsコマンドを実現しているプログラムは汎用性が高く、大量のデータも処理できるよう作られており、そのソースコードを読み解くことはプログラマの成長にとって大変役立ちます。書は、C言語に習熟している人を対象に、GNU coreutiles 8.21のlsソースコードを解説します。lsのソースコードを読めば、マルチプラットフォーム対応の注意点、大量のデータを可能な限り継続処理する方法、実行性能や利便性とのバランスの取り方がわかります。 【サポートはこちら】→https://www.shuwasystem.co.jp/support/7980html/3943.

    lsを読まずにプログラマを名乗るな! - 秀和システム あなたの学びをサポート!
    atotto
    atotto 2013/09/16
    おぉ、読んでみたいかも
  • How to include C code in your Go package | Dave Cheney

    It looks like Go 1.4 will remove support for Go packages containing C code (as described below, don’t confuse this with CGO), so enjoy it while it lasts. This is a short post designed to illustrate how Go package authors can write package level functions in C and call them from Go code without using cgo. The code for this article is available on GitHub, https://github.com/davecheney/ccode. Some wa

    atotto
    atotto 2013/09/07
    へぇ、Goでこんなことできるんか。Cで書けばポインタもインクリメントできると。ニッチだけど何かの場面で使いそう。
  • UNIX/Linux/C言語 サンプル多く説明少なく -PG's PocketArms

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

  • C tips & reference \n

    当サイトは、その名のとおりC言語の関数やマクロの使い方についての説明を主なコンテンツとしております. コーディング中に「あれ,この関数なんだっけ?」となったときや,関数をmanコマンドで調べたけれど,いまいち使い方が分からないときなどにご利用いただければ幸いです. ホームページの構成 C言語関数辞典は大きく分けて4つのコンテンツから構成されます. コンテンツ説明

  • Function Names (Using the GNU Compiler Collection (GCC))

    6.53 Function Names as Strings ¶ GCC provides three magic constants that hold the name of the current function as a string. In C++11 and later modes, all three are treated as constant expressions and can be used in constexpr constexts. The first of these constants is __func__, which is part of the C99 standard: The identifier __func__ is implicitly declared by the translator as if, immediately fol

    atotto
    atotto 2011/05/11
    φ(..)メモメモ:__FUNCTION__じゃなくて__PRETTY_FUNCTION__を使えば、ログなんかで関数定義が全部見える。クラスで使うと便利かも!
  • ダブルポインタにどこまでconstが付けれるのか - 名古屋313の日記

    C言語, C++ | 22:22少し気になったので試してみました。 int main(int argc, const char * const * const argv) { argv = nullptr; // コンパイルエラー *argv = nullptr; // コンパイルエラー **argv = 0; // コンパイルエラー return 0; } 普通に3つ付けられました。パターンとしてはダブルポインタ自身の書き換え禁止、ダブルポインタが指してる物の書き換え禁止、ダブルポインタが指してるものの指してる物を書き換え禁止の3通りあるので、3つ書けるのも当然と言えば当然ですね。順番としては、左からダブルポインタが指してる物の指してる物の書き換え禁止、ダブルポインタが指している物の書き換え禁止、ダブルポインタ自身の書き換え禁止を指定していることになるみたいです。まあ雰囲気そんな感じはし

    atotto
    atotto 2011/01/24
  • C 言語によるオブジェクト記述法 COOL

    C 言語によるオブジェクト記述法 COOL ver.2 C-language's Object Oriented Language ver.2 [検索] 目次 0. はじめに 1. クラスの記述, 属性の記述 2. 操作の記述 3. クラス属性の記述、定数の記述 4. 初期化操作と後始末操作の記述 4-1.処理効率優先インターフェイス 4-2.再コンパイル不要インターフェイス 4-3.動的バインディング・インターフェイス 5. 状態取得操作と状態設定操作とイベントハンドラの記述 6. 集約の記述、継承の記述 6-1.集約の記述 6-2.継承の記述 6-3.多重継承の記述 6-4.重複継承の記述 6-5.動的継承の記述 7. 多態性(多相性)、インターフェイス継承の記述 7-1.多態性の記述 7-2.多態性を持った生成の記述 7-3.多重継承の多態性の記述 7-4.重複継承の多態性の記述 7

  • コンピューター:C言語講座:マルチスレッドについて

    コンピューター:C言語講座:マルチスレッドについて マルチスレッドの特徴 一般的なサーバプログラムでは、多数のクライアントからの処理をできるだけリアルタイムに処理するために、何らかの形で並列処理を行うことが多いものです。たとえば、データベースサーバで、ある検索処理に時間がかかっている間ほかのクライアントが接続すらできない、という状態ではサーバとして失格でしょう。 並列処理を実現する方法としては、 ・プログラム自体を並列処理可能に記述する ・プロセスをもともと多数起動しておく ・fork()を使って子プロセスを起動するマルチプロセス処理 ・マルチスレッドを使用する などが考えられます。プログラム自体をリアルタイム性を考慮しながら記述するのはなかなか大変で、しかもソースが複雑になりメンテナンス性も問題が多くなりがちです。プロセスをもともと多数起動するのは簡単ですが、クライアントがどのプロセスに

  • isocchi.com

    This domain may be for sale!

    atotto
    atotto 2009/11/24
    AIRでソケット通信
  • C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記

    はじめに Adobe から C/C++ で書いたコードを Flash や AIR で動かす Alchemy というものがリリースされましたね! Alchemy - Adobe Labs これはすごい!ということで、少し試してみたいと思います。 その様子をリアルタイムに書いていきます。ちゃんと出来るかな 環境 OS は Mac OS X で gcc 、 java は入っているものとします。 ホームディレクトリ(/Users/amachang)に AlchemyTest というディレクトリを作って作業します。 インストール まずは、いろいろインストールします。 Flash Player 10 Debugger Version Adobe Flash Player - Debug Downloads ここからダウンロードしてきて、普通にインストールします。 Flex SDK 以下から Flex

    C++ のコードを Flash Player で動かす! Alchemy を速攻試してみる。 - IT戦記
    atotto
    atotto 2009/09/29
    C++のコードでFlashを使えるAlchemy
  • C と C++の間で関数や変数を共有する - akihiko’s tech note

    C++ で実装した関数を C から利用したい場合,あるいはその逆の場合がある.同じソースの中に両方のプログラムコードを書くことはできないが,それぞれのソースをコンパイルしてオブジェクトファイルを生成し,それらをリンクすることは可能だ.ただし C++ 特有の名前空間 (namespace) や関数オーバーロードに対処する必要がある. 以下ではコンパイラに gcc-4.3 / g++-4.3 を利用している.環境は debian/linux. introduction... 簡単なプログラムの場合は,図(a)のようにひとつのソースコードをコンパイルして実行ファイル (*.out / *.exe) を生成している.しかし,プログラムの規模が大きくなった場合,ライブラリを作る場合,何人かで共同開発する場合などでは,図(b)のようにソースを小分けして個別にコンパイルしてオブジェクトファイル (*.o

    C と C++の間で関数や変数を共有する - akihiko’s tech note
    atotto
    atotto 2008/12/10
    CとC++でプログラミング
  • GNU makeの使い方

    [ C++で開発 ] GNU makeの使い方 更新日: C++のビルドをGNU makeで行います。 Makefile記述テンプレート 単一ディレクトリで1つの実行ファイル作成用 Hello makefile(Ver.1) 一つのsrcディレクトリ、一つのincludeディレクトリからなるソースファイルをmakeし、一つの実行ファイルを作成します。 PROGRAM = hello.exe SRCS = Hello.cc Main.cc OBJS = $(subst .cc,.o,$(SRCS)) RM := rm CXX := g++ CC := g++ CPPFLAGS = -I../include LDFLAGS = -mno-cygwin $(PROGRAM): $(OBJS) $(LINK.o) $^ $(LOADLIBES) -o $@ .PHONY: clean clean:

  • C/C++ リファレンス

  • Makefileの書き方 - スキルアップ輪講

    makeって何? † ソースファイルを分割して大規模なプログラムを作成していると、コマンドでコンパイルするのが面倒です。また、一部のソースファイルを書き換えただけなのに全部をコンパイルし直すのは時間の無駄です。 そんな問題を解決するのがmakeです。Makefileと呼ばれるテキストファイルに必要なファイルと各ファイルのコンパイルのコマンド、ファイル間の依存関係を記します。そして、“make”というコマンドを実行するだけで、自動的にコマンドを実行してコンパイルしてくれます。これだけではスクリプトと大差がないのですが、makeはMakefileに記された依存関係に基づいて更新されたファイルの内関連のあるものだけを更新することで、コンパイル時間を短くします。 makeは特定のプログラミング言語に依存したものではありません。C言語のソースファイルのコンパイルにも使えますし、Verilog-HDL

  • 1