タグ

cに関するkorinのブックマーク (23)

  • Cello • High Level C

    #include "Cello.h" int main(int argc, char** argv) { /* Stack objects are created using "$" */ var i0 = $(Int, 5); var i1 = $(Int, 3); var i2 = $(Int, 4); /* Heap objects are created using "new" */ var items = new(Array, Int, i0, i1, i2); /* Collections can be looped over */ foreach (item in items) { print("Object %$ is of type %$\n", item, type_of(item)); } /* Heap objects destructed via Garbage

  • ccan

    ccan Comprehensive C Archieve Network The Idea That nice snippets of C code should be moved out of junkcode directories and exposed to a wider world, where they can become something useful. CCAN is loosely modelled after the succesful CPAN project for Perl code development and sharing. Getting The Code Once you grab some modules, there are two basic ways to use it: Just hack it to compile in your

  • GitHub - google/cmockery: A lightweight library to simplify and generalize the process of writing unit tests for C applications.

    Cmockery tests are compiled into stand-alone executables and linked with the Cmockery library, the standard C library, and the module being tested. Any symbols external to the module being tested should be mocked - replaced with functions that return values determined by the test - within the test application. Even though significant differences may exist between the target execution environment o

    GitHub - google/cmockery: A lightweight library to simplify and generalize the process of writing unit tests for C applications.
  • サービス終了のお知らせ

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

  • wavファイルのフォーマットを書き換えて倍速再生にする - 橋本詳解

    前:wavファイルのフォーマットを読み込む - 橋詳解 wavのDSPをやる準備が整った。 wavヘッダをメモリに読み込んでrubyの変数として扱って、バイナリに書き戻せるようになった。dataチャンクの中の波形をいじれば音を変えれる。 まずは波形ではなくwavヘッダの周波数とbpsの値をいじって、倍速再生のwavファイルを作る例。 かなりバイナリをすんなり扱えるラッパーができた。 (後述のWavFile.rbを使う) test.rb #!/usr/bin/env ruby require 'WavFile' if ARGV.size < 2 puts 'ruby test.rb input.wav output.wav' exit 1 end f = open(ARGV.shift) format, chunks = WavFile::readAll(f) # Format, Arra

    wavファイルのフォーマットを書き換えて倍速再生にする - 橋本詳解
  • C にクロージャのようなものを追加する Grand Central Dispatch - blog.8-p.info

    Snow Leopard には Grand Central Dispatch (以下 GCD) という機能がある。これは C と当然 C++, Objective-C, Objective-C++ にクロージャのようなものを追加し、マルチコアな CPU における計算の並列実行を簡単に書けるようにするらしい。 私は並列化には全然詳しくないのだけど、クロージャのようなものは気になるので調べてみた。 Block Apple Developer Connection にある Introducing Blocks and Grand Central Dispatch は GCD の全体像をコードを交えつつわかりやすく説明している。この “blocks” というのがクロージャのようなものだ。 Blocks are similar to — but far more powerful than — tr

  • http://homepage.mac.com/naoki.koguro/prog/dyncomp/index-j.html

  • XP Epsiode

    Chose Vacation RentalsTips for renting your Vacation Rentals Whether you are a tenant or a landlord, here are some practical tips to help you prepare your vacation. Booking a vacation rental The reservation of your holiday rental is made directly with the landlord. It is recommended to confirm your reservation by sending a rental contract and a deposit or deposit. The balance of the stay will be p

  • ソケットプログラミング - TCP/IPサーバの例 - しばそんノート

    RubyなどのLLでソケット通信のプログラムを書いていると、あまりにも簡単に書けすぎて、ついついC言語でのソケット通信の書き方を忘れてしまいます。 ということで、おさらいのためにシンプルなechoサーバをCで書いてみました。おおまかな説明はソース中にコメントで書いてありますので省きます。 server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <errno.h> #include <poll.h> #include <signal.h> #include <sys/socket.h> #include <netdb.h> #define BUFFER_SIZE 512 #define READ_TIMEOUT 10000 // 10 seconds /*

    ソケットプログラミング - TCP/IPサーバの例 - しばそんノート
    korin
    korin 2009/08/02
  • 続・バグを生まないコーディング法 | EE Times Japan

    フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動

  • PythonMatrix:C++開発統合環境の決定版!

    【1.1】   特徴 オープンソース GPL2ライセンスによる公開です。 クロスプラットフォーム wxWidgetsを使って開発されており、LinuxWindowsで動作確認済み。 MacPPCへのサポートが始まっているようです。 GNUコンパイラによるビルド プロプライエタリなライブラリへの依存がありません。 コンパイラーをバンドル Windows版はMinGWをバンドルしたリリースパッケージを用意 リリース版はインストーラ一発で開発環境のセッティングが完了する。 サポートコンパイラが豊富 GCC (MingW / Linux GCC) MSVC++(2003 2005) Digital Mars C++ Borland C++ 5.5 Intel C/C++ Open Watcom SDCC(ワンチップマイコン向け!) Digital Mars

  • PythonMatrix:C++とPythonのコラボレーション

    【1】   概要 「SWIG」というC/C++コードを各種言語から 利用できるようにするラッパージェネレータがあるのをご存知でしょうか? ホームサイト: http://www.swig.org/ Allegro CL C# Chicken Guile Java Modula-3 Mzscheme OCAML Perl PHP python Ruby Tcl といった多彩なジェネレート出力が得られます。 このページでは当然Pythonからの利用を解説しますが、 実はPython標準ディストリビューションには SWIGとの連携をサポートする機能が最初から組み込み済みです。 つまり、他の言語利用よりもPythonとSWIGの組み合わせが最も親和性が高いといえます。 PythonとSWIGの連携実績は以下のように非常に有名なプロジェクトがあることもポイン

  • protothreads

    protothreadsとは 組み込み機器でプログラムを作る方法には、大きく2つの方法があります。 RTOSを使う(スレッド型プログラミング) RTOSを使わない(ポーリング型プログラミング) protothreadsは、後者のRTOSを使わない場合のプログラミングを簡単にするための手法です。 まず、RTOSを使う場合と使わない場合のプログラミング方法の説明をします。 RTOSを使う場合のプログラミング RTOSを使った場合には、複数のスレッドが存在し、それぞれのスレッドは待ちに入る事ができます。 void threadA(void) { MSG msg; for (;;) { msg.key = wait_keyboard_msg(); /* 待ちに入る(キーボード入力待ち) */ send_msg(msg); /* threadBへメッセージを送る */ } } void threa

    korin
    korin 2008/10/04
  • c-repl

    Update (March 2013): C-REPL was a neat hack, but a more principled implementation of the same goal exists in Cling. Many programming languages come with a REPL (read-eval-print loop), which allows you to type in code line by line and see what it does. This is quite useful for prototyping, experimentation, and debugging code. Other programming languages, and especially C, use a "compile-run" model,

  • Language.C を使ってみる with Data.Generics - らくがきえんじん

    Language.CはHaskell用の、C言語のソースコードを構文解析するライブラリ。 構文木はHaskellのデータとして操作可能で、これのおかげでC言語のコードを色々と操作できる。意味解析に役立ついくつかの補助関数も定義されているようだ(よく調べてない)。 やったこと、動機 JHC (Haskellのコンパイラ;ISO C互換のコードを吐く)は C99のコードを吐くようだ ツールの制約でgcc 2.95(19991024)しか手元にない。 gcc 2.95はC89しか受け付けないようだ jhc が吐くコードを gcc 2.95 でコンパイルできるよう自動変換したい そこで Haskell用の Cパーザである Language.C を使って、JHCが吐くコードを gcc 2.95でコンパイルできるように変換する。未完。 C89では 変数宣言が ブロックの頭以外に来たらエラー。全ての変数

    Language.C を使ってみる with Data.Generics - らくがきえんじん
  • WindowsでFreeなCモジュールビルド環境 - 清水川Web

    このネタの発端は [Python-ml-jp 3324] での発言です。Windows上で、Cで書いたPythonモジュールを手軽に作成&配布できれば、ちょっとした用途でのPythonの使い勝手がかなりあがりますが、そのために有償の環境が必要になってしまっては、誰でも、という訳にいかなくなります。 そこで、Microsoftが無償配布している Microsoft .NET Framework SDK を利用してPythonのCモジュールビルド環境を構築してみます。 必要なパッケージ 以下のパッケージをインストールします。ダウンロードサイズだけで結構な大 きさです。さらにインストール用の容量も必要になるので、HDDの空き容量に は気をつけてください。 Microsoft .NET Framework Version 1.1 再頒布可能パッケージ (24MB) .NET Framework S

    korin
    korin 2008/05/17
    puttyjp ごった煮版を改造して使っている人によると Pythonに関係なくおすすめっぽいらしい。Puttyがビルド可能
  • kimbly.com - kimbly リソースおよび情報

  • Unix Programming Frequently Asked Questions 日本語訳 - 3 端末 I/O

    3.1 どうすればプログラムに入力をエコーさせなくできますか? どうすれば、loginがパスワードを尋ねるときのように、 プログラムにエコー出力させなくできますか? 簡単な方法と、ちょっとだけ難しい方法があります: 簡単な方法は、getpass()を使うことです。 これはおそらくほとんど全てのUnixにあります。 これはプロンプトに使う文字列を引数にとります。EOFまたは改行までを読み込み、 入力された文字列を保持している静的メモリ領域へのポインタを返します。 難しい方の方法は、tcgetattr()とtcsetattr()を使うことです。 どちらもstruct termiosを使って端末を操作します。 次の2つのルーチンは、エコー・非エコーモードを設定します。 #include <stdlib.h> #include <stdio.h> #include <termios.h> #inc

    korin
    korin 2007/11/04
    どうすればキーボード入力をechoしないようにできるか
  • 読書ノート - セーフティプログラミング

    読感 とかく入門書籍では見過ごされがちとなる効果的なエラー処理の実装について。エラー処理を加えることでプログラムの実用性を高めるということ。その際に、(エラー処理の追加によって)ロジックの見通しが悪くなるような場合には、エラー処理までの含めた部分を(標準関数でも)ひとつのモジュールとしてまとめる(ラッピングする)ような方法がある。 抄録 C の標準関数 C は高級言語としてはエラー処理のサポートが少ない言語である。その主な理由として C では機能の実装における決定をユーザに委ねている点が挙げられる。また、かつてのマシンリソースが限られていた時代には、不要なエラー処理を組み込まないことも、ひとつの手段だったため。C では関数を書くときにエラー処理を書くというのが基になる。そして標準関数は戻り値から異常を検出すればよい。 printf 仕様としてはエラー発生時に負の値を返すが、通常はチェック

  • antisphere.com - antisphere リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.