タグ

golangとcに関するa2ikmのブックマーク (4)

  • 【追記】C と Go で for 文のループでのスタックフレームの積み方が違うという気付き → 変数の確保の方法が違うだけだった

    この記事を読んでいて、不思議に感じたのでメモ。 blog.p1ass.com というのも、 低レイヤを知りたい人のためのCコンパイラ作成入門 を読みながら for 文を作っていたときにループごとにスタックフレームを新しく積むことはなかったので、別の変数に再代入しただけで結果が変わることに違和感を覚えた。もしかして C と Go で扱いが違うのかもと思って、ループ変数とループ内で宣言した変数のアドレスを書き出してみた。 C の場合はループ変数もループ内で宣言した変数もアドレスは毎回一致していた。ということは、毎回同じスタック領域をスタックフレームを使っていることになる。( for の初期化文などと同じフレームかまではわからないけど、 for 文のあとで i を参照することができないことを考えると、 for 文に入ったところで新しく積んでいるのかもしれない) $ cat <<"EOF" >ma

    【追記】C と Go で for 文のループでのスタックフレームの積み方が違うという気付き → 変数の確保の方法が違うだけだった
    a2ikm
    a2ikm 2020/06/13
    CもGoもわからないので、とりあえず実験してメモった。//さらに調べて追記した
  • go-mp3: Pure Go な MP3 デコーダー - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? tl;dr (要約) GoMP3 デコーダー実装がなかったので、既存の C のものを移植し、 go-mp3 というライブラリを作りました。 背景 Pure Go な実装の MP3 デコーダーを探したのですが、自分の探す限りでは見つかりませんでした。 tcolgate/mp3 が最も近かろうと思われましたが、これはどうやらコンテナをデコードするのみのようです。 ないものはしょうがないので、自分で実装することにしました。フルスクラッチで実装するモチベーションはなかったため、既存の別言語の物を転用することにしました。今回は PDMP3

    go-mp3: Pure Go な MP3 デコーダー - Qiita
  • CのヘッダファイルからGoの構造体を生成する — そこはかとなく書くよん。 ドキュメント

    CのヘッダファイルからGoの構造体を生成する¶ Gocon 2015で発表しませんでした。 そもそも参加できるか分からなかったんですよね。 ということで、godefを使ってCのヘッダによる構造体定義からgolangの構造体を生 成する方法について記載した資料を作成し、しれっとTwitterに投げてみました。 ただ、この生成方法はだいぶ前のもので、今はc2goがあるので、そちらを使うほうがいいのかもしれません。まだ自分では試せていないです。そのあたりも含めて見ていただけるとありがたいです。 gopsutil¶ 資料中で触れていますが、 gopsutil は psutil というメモリやCPUといったシス テム情報を取るPythonのライブラリをgoに移植したものです。psutilと同じく、 Linuxだけではなく、FreeBSDやOSXWindowsにも対応しているのが特徴です。 (とはい

  • Yokohama.pm #12 でGoからPerlを使うというマニアックな話をしました

    今年も残すところあと1ヶ月ですね! さて、先週金曜日にYokohama.pm #12がありました。会場がうちの会社だったのでじゃあ誰かしゃべるよね〜と思って眺めてたのですが、なんかみんなもじもじしてて誰もしゃべりそうになかったので、とりあえずネタ枠としてGoからPerlを呼ぶという一発ネタでもやるかねぇということを考え始めました。 ちょうど最近GoでC/C++のライブラリを呼ぶのを仕事でやっていて、既にcgo周りの知見はだいぶたまっていたので、PerlをCから呼ぶところさえ理解すればたぶんできるなーということでperldocのperlembedを読みながらCのサンプルを動かして、それをGoに移植したら30分くらいで動いたのでじゃあこれで一ネタやろうかなということで15分でエントリーしました。 発表に至ったなりゆきはそんな感じでした。内容はスライドをご参照ください。 表紙の背景の写真はうちの

    Yokohama.pm #12 でGoからPerlを使うというマニアックな話をしました
  • 1