タグ

Cに関するEhrenのブックマーク (32)

  • 次期C標準 (C23) の内容が固まったらしい

    C23については最近のC言語と、次期C標準(C23)でも軽く紹介しました。 今回、C23入りする内容が大体固まったようなので改めて紹介します。 この記事を書いている時点での最新の公開されたWorking Draftは N2912 N3047 N3054 N3096です。ただし、C2y向けの最初のドラフトN3220もあり、そちらの方が実際の内容に近いかもしれません。 内容については会議参加者の投稿も参考にしています: https://twitter.com/rcs/status/1550526425211584512 C23 now finalized! : C_Programming というわけで、C23に入る主な機能はこちらです: C23に入る主な機能 POSIXの機能の取り込み: strdup, strndup, memccpy, gmtime_r, localtime_r C++の機

    次期C標準 (C23) の内容が固まったらしい
  • Ruby 3.1.0 Released

    Posted by naruse on 25 Dec 2021 We are pleased to announce the release of Ruby 3.1.0. Ruby 3.1 keeps compatibility with Ruby 3.0 and also adds many features. YJIT: New experimental in-process JIT compiler Ruby 3.1 merges YJIT, a new in-process JIT compiler developed by Shopify. Since Ruby 2.6 introduced MJIT in 2018, its performance greatly improved, and finally we achieved Ruby3x3 last year. But

    Ehren
    Ehren 2021/12/26
  • なんでJavaなんですか?って、それにはCをきっちり書ける奴が、うちの会社に何人居ると思ってんの?という質問で返したいね。

    Ransui Iso @ransui なんでJavaなんですか?って、それにはCをきっちり書ける奴が、うちの会社に何人居ると思ってんの?という質問で返したいね。 2014-10-29 01:21:14

    なんでJavaなんですか?って、それにはCをきっちり書ける奴が、うちの会社に何人居ると思ってんの?という質問で返したいね。
    Ehren
    Ehren 2014/10/29
  • C99の仕様

    長い歴史を持ちながら、依然として人気の高いC言語。その最新仕様の情報にキャッチアップするための連載スタート。今回は1999年に策定された「C99」を取り上げる。 連載 INDEX 次回 → C言語(以降、単にC)はDennis Ritchieによって1969~1973年の間にベル研にて開発されたプログラミング言語である。長い歴史を持つと共に非常にポピュラーな言語で、プログラマーでCを知らない人はまずいないと言っていいだろう。プログラミング言語のシェアを調査しているTIOBEでも、ここ最近は常に1、2位を占めている。 Cの言語仕様は今から25年近く前である1989年に初めて規格化され、これは一般に「ANSI-C」と呼ばれている。ANSI-Cは長らくCの言語仕様のスタンダードの位置を占め、世の中の大半のプログラマーは、このANSI-Cに慣れ親しんでいることだろう。しかし、実はCの言語仕様はその

    C99の仕様
    Ehren
    Ehren 2014/02/07
  • 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

    Ehren
    Ehren 2013/05/08
  • CythonTranslation – アクセンスのおまけ

    Ehren
    Ehren 2012/10/24
  • C言語における文字列連結 — KaoriYa

    C言語で文字列連結を行う。とても簡単に思えるけれど、実はパフォーマンスについて考えることもあるんだよ、というお話。 C言語で2つ文字列の連結して、1つの文字列にするプログラム(関数)を書けるでしょうか? ちょっとC言語でプログラミングを学んだことがあれば簡単ですよね。要求仕様としては2つの引数aとbをとり、どちらもNULターミネートな文字列で、その文字列をヒープから確保した領域で連結して戻り値として返す、という感じの動作です。ヨユーですね。ちょっと書いてみてください。 char* str_join(const char* a, const char* b) { char* p = malloc(strlen(a) + strlen(b) + 1); strcpy(p, a); strcat(p, b); return p; } こんな風に書いてしまったあなたは及第点です。個人的には失格です

    Ehren
    Ehren 2012/01/16
  • Migrating C extensions — Supporting Python 3: An in-depth guide

    Migrating C extensions¶ Python 3 has many changes to the C API, including in the API for defining classes and initializing modules. This means that every single C extension has to be modified to run under Python 3. Some of the changes are simple and some are not, but you will have to do them all by hand as 2to3 only handles Python code. That also means that you can’t support Python 2 and Python 3

  • Test-Driven React: Find Problems Early, Fix Them Quickly, Code with Confidence by Trevor Burnham | The Pragmatic Bookshelf

    Releases, Offers & More Be the first to hear about our newest content, best promotions and upcoming events. Plus get 25% off your next purchase. Newsletter Sign Up Download Accounts Your email address is your account identifier. You can create a password, or just download from the links sent via email. My Orders (Resend order emails) How We're Different Hands-on instructions Solutions to real-worl

  • Python/C API Reference Manual — Python v3.2.2 documentation

  • Damien Katz: The Future of CouchDB

    What's the future of CouchDB? It's Couchbase. Huh? So what about Apache CouchDB? Well, that's a great project. I founded it, coded the earliest versions almost completely myself, I've spent a huge amount of blood, sweat and tears on it. I'm very proud of it and the impact it's had. And now I, and the Couchbase team, are mostly moving on. It's not that we think CouchDB isn't awesome. It's that we a

  • c-ares の大雑把な機能紹介 - DELPHIER@はてな

    c-ares については過去の記事で少し触れた。c-ares は以下に詳細な API リファレンスが存在するが、Web サイトトップより詳しく、API リファレンスよりも大雑把な機能紹介がないのがもったいない。 というわけで、c-ares を簡単に紹介しておく。まずは Web サイトトップに書いてあること。 非同期名前解決ができる 大抵のプラットフォームで呼び出すことができる gethostbyname、getaddrinfo は同期呼び出しのみ C ライブラリとして提供される IPv6 に対応している 様々なプラットフォームに対応していて移植性に優れている Windows Mac OS X Linux Android etc.. 今も活発に開発が行われている メーリングリストが活発 メインメンテナの Daniel Stenberg 氏が活発 ソースコードを見たり実際にコードを書いたり実行

    c-ares の大雑把な機能紹介 - DELPHIER@はてな
  • OBB vs AABB - Radium Software Development

    This domain may be for sale!

    Ehren
    Ehren 2011/10/07
  • やさしいCプログラミング

    このは,これからプログラミングを学ぼうとする初心者のために, 基的な事柄について解説しています.書の目的は,プログラムの よい書き方(プログラミング書法またはプログラミングスタイルと 呼ばれる)を身につけるきっかけを提供することです.読者には, コンピュータやプログラミングについての特別な知識は期待して いません.書で使用するコンピュータ言語は,Cよりはプログ ラミングの教育に適したModula-2風の疑似言語です.この言語は C言語が持つ文字列を置き換える機能(マクロ定義)を使って見 かけを変えているだけで,C言語そのものです.初心者がModula-2風C を用いることの利点は, プログラムを読みやすく,文法を覚えやすくする, C言語特有のわかりにくさを緩和する, C言語特有の起こしやすいエラーを未然に防ぐ, C言語特有の落し穴をふさぐ, C言語特有の曖昧な制御構造を避ける, 等

    Ehren
    Ehren 2011/10/05
  • おまじないではない#include - 郡山からHello World

    C言語を最初に学ぶと、必ず出てくる以下の行 #include <stdio.h> おなじないと言われて、常に書いている人がいるみたいだが、おまじないでもなんでもなくて stdio.h ファイルをそこに展開せよといっているだけである。 なんで展開するかというと、たいていはprintf関数を使うので、そのプロトタイプ宣言なんかが書いてあって必要になるから。使う分にはそれでもいいけど、それだと面白くないからstdio.hファイルでも見てみようかと思うわけですよ。 どこにあるかというと、まぁ、環境によるわけですが、UNIX系の場合 /usr/include だったりします。 というわけで、/usr/include/stdio.hファイルを見ていけばいいということで。以下、FreeBSD 7.3-RELEASE の環境の話です。 ファイル長いので、面白そうなとこだけ見ていこうかと。 最初は以下の通り

    おまじないではない#include - 郡山からHello World
    Ehren
    Ehren 2011/08/21
  • Post by @shyouhei

    速さのためにはCでないとこの誤解は典型的ですねえ。今、申し訳ないんだけど、普通に書いたCのコードと普通に書いたJavaのコード走らせると、普通に書いたJavaのコードの方が速くなるケース、全部とは言わんが案外と多いですよ。なんでかというと、Javaは普通に書いたらJVMが人類の持てるテクノロジの限りを尽くして勝手に高速化してくれる1が、Cはあなたの能力以上に速くはならない。Cは速いJavaは遅いってのは10年くらい前には正しかったんでしょうけどねえ。なお自分でベンチマークしてる暇なんかないよ!という人はshootout.alioth.debian.orgぐらいは読んでもいいんじゃないですかね。たとえばJavaとCの比較で見れば全体的にいって同じくらいのスピード、いくつかの項目でJavaのほうが速いのが分かる。組み込み屋はCでなければ何を使うかこれがですねえ、少なくとも俺の半径1クリックでは

    Post by @shyouhei
    Ehren
    Ehren 2011/05/18
  • 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現更新履歴
    Ehren
    Ehren 2011/02/21
  • Cのコールバック関数をC++のメンバ関数にバインディングする方法 - kazuhoのメモ置き場

    たとえば libevent のような C 言語でかかれたイベント駆動型のライブラリを C++ から使っていると、C++ のメンバ関数をコールバックとしてセットできたらうれしいことが多いですよね。以下のようにすればできます。 たとえば、コールバック関数をセットする関数の型が、 void set_foo_callback(void (*)(void* cb_arg), void* cb_arg); なら、以下のようにクラスとメンバ関数を引数にとるテンプレート関数を定義し、 template <typename T, void (T::*FUNC)()> void to_foo_callback(void* cb_arg) { T* obj = reinterpret_cast<T*>(cb_arg); (obj->*FUNC)(); }以下のように受け渡せばいい。 class K { publ

    Cのコールバック関数をC++のメンバ関数にバインディングする方法 - kazuhoのメモ置き場
    Ehren
    Ehren 2011/01/26
  • Lock-free Stack - くまメモ

    ではLock-free Stackについて図とプログラムを交えながら説明します。C++ではなくCを使います。 これは複数スレッドからロックによる排他無しで共有できるスタックで、外部には node* top; void push(const T*, node** top); bool pop(T*, node** top); を提供します。*1 このスタックはbottomへと繋がる線形リストをベースとして動作するため、配列ベースのスタックにパフォーマンスで劣ることもあります。*2 その線形リストを構成するノードのデータ構造から見てみましょう。 struct node{ T data; node* next; }; ごく典型的な線形リストのノードと同じです。 道具の紹介 lock-freeデータ構造を構成する場合に頻出のCompare And Swap。 C言語の擬似コードで書くと以下のような

    Lock-free Stack - くまメモ
    Ehren
    Ehren 2010/12/29
  • Perlスクリプトをexeファイルに変換 - Low Battery Life

    Recent Entries Recent Comments Recent Trackbacks (2011.1.23追記) 同様の用途であれば、PARがおすすめ。 -------------- ふと、そういったものがあるのではと考えて探してみた。 Perl2Exe Home Page (IndigoStar Software) PerlスクリプトをEXE形式の実行ファイルへ変換「Perl2Exe Lite」 (窓の杜) perl2exeでは正規表現や2次元の連想配列(ハッシュ)を多用した、複雑なスクリプトも変換して実行できた。 Cで書くのは辛い文字列処理等がある変換ツール等を、配布する場合にはかなり便利。値段がちょっと高いのが難点。 さらに調べてみたらperlcc というのもあるのね。 ActivePerl 5.6.1 Build635 で変換したものは、print "Hello Wor

    Ehren
    Ehren 2010/10/18