タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

programmingとqiitaとCに関するslay-tのブックマーク (6)

  • libbpf-rsを使ったRustとeBPFプログラミング - Qiita

    この記事は、Supershipグループ Advent Calendar 2021の17日目の記事になります。 はじめに この記事ではeBPFを活用してLinuxカーネルにフック用プログラムを注入することにより、ネットワークパケット処理を拡張する例を示します。 その実装にあたり、Rustとlibbpfの統合を行うlibbpf-rsを使った開発体験を記したいと思います。 TL;DR libbpf-rsによってRustとeBPFを組み合わせたプログラムのコンパイルやロード処理の手間は省けるようになります。実際、システムコールの呼び出し部分はほとんど意識する必要がありませんでした。 一方でeBPFプログラミングで特に苦労したのは以下の点でした。 デバッグとテスト つまりeBPFプログラミングにおいて周辺的な問題がツールによって解決されていき、よりプログラムの機能そのものの問題に時間を割くことができ

    libbpf-rsを使ったRustとeBPFプログラミング - Qiita
  • 旧石器時代のポインタをご利用の皆様へ ~provenance入門~ - Qiita

    現代のプログラミング言語ではポインタは単なるアドレスではなく,provenanceを伴った参照として扱われています. 世界は既に変わっています. 概要 ポインタは単なるアドレスではありません. ポインタにはprovenanceという,どのオブジェクト由来かの情報が含まれています. Provenanceを使うことで,最適化が効きやすくなったり,堅牢なプログラムを書きやすくなったりします. 追記: 次の英語記事を読むとprovenanceが必要な理由についてもっとよく知ることができます.クリックしよう!!!!(2020-12-15) https://www.ralfj.de/blog/2020/12/14/provenance.html ポインタはアドレスではない 次のCプログラムを見てみましょう. #include <stdio.h> #include <string.h> int main

    旧石器時代のポインタをご利用の皆様へ ~provenance入門~ - Qiita
  • C言語で16文字でセグフォらせる - Qiita

    PythonをSegmentation Faultで落とすのが最近流行っているようなので。 pythonを三行でセグフォらせる pythonを2行でセグフォらせる pythonを1行でセグフォらせる Pythonを33文字でセグフォらせる Pythonをctypesを使わずに1行でセグフォらせる Rustを5行でセグフォらせる 主語(Python)をC言語に変えるだけで途端につまらなくなりますが、やってることは同じです。 コード gcc 10.1.0で動作確認(警告は出ます) > gcc segf.c segf.c:3:4: 警告: データ定義が型または記憶域クラスを持っていません 3 | *a;main(){*a=0;} | ^ segf.c:3:5: 警告: 型がデフォルトの ‘int’ に ‘a’ の宣言内でなります [-Wimplicit-int] 3 | *a;main(){*

    C言語で16文字でセグフォらせる - Qiita
  • C++20 Contract - Qiita

    この記事は、ブログ記事を色々した版です(提案文書読んでブログに書き終えてからドラフトに入ってることに気付いた)。 基的に、以下の文献に基づきます。 N4800 - Working Draft, Standard for Programming Language C++ P0542R3: Support for contract based programming in C++ by G. Dos Reis, J. D. Garcia, J. Lakos, A. Meredith, N. Myers, B. Stroustrup この機能はC++23に延期になりました、ご注意ください Contract programming 或は Design by Contract (DbC) とは Wikipedia - 契約プログラミング D4Cではない。 三行で Contract Programm

    C++20 Contract - Qiita
  • 120 行で vi っぽいエディタを作る - Qiita

    参考:Qiita では印刷がうまくできません。プリントしたい人や PDF 化したい人は http://gurakura.sakura.ne.jp/culture/vi-like_text_editor_by_120_lines/ の方を見て下さい(同じ内容です)。 IOCCC 91 Best Utility 実を言うと 120 行も必要なく、28 行で書けちゃったりするのですが("Best Utility IOCCC 91" https://github.com/SirWumpus/ioccc-ae/tree/master/91)、それはさておき、文書では現代風にこのプログラムを書き直してみます。古文の現代語訳みたいなものだと思っていただければ幸いです。 ちなみに IOCCC 91 で Best Utility 部門を受賞した全 28 行のプログラムは、このようなソースコードだったそうで

    120 行で vi っぽいエディタを作る - Qiita
  • たった7行でテトリスを実装「七行プログラミング」とは - Qiita

    ブログやってます。更新などはこちら。地方エンジニアの学習日記 七行プログラミングとは プログラミングの言語を問わず、 「7行 × 79文字 」という文字数制限のもとにコードを書くといったこと ショートコーディングと呼ばれるらしいです。 1kbに満たないソースでテトリスが出来るのには感動しました(当時中学生ぐらい) Unix哲学の「スモール イズ ビューティフル」もびっくりです()。 ちなみにスーパーマリオブラザーズは40kb程っていうのも驚き ショートコーダー(Short Coder)とは、プログラムのソースコードを極限まで短縮する技術を持ったプログラマのことである。「ソースコードの短縮」は、一見無意味に感じられるかもしれない。しかし最短コードを達成するには、省メモリ・高速プログラム・処理系の知識に加えて、並外れた集中力と熱いショートコーディング魂が必要なのである。 以下に見つけたソースを

    たった7行でテトリスを実装「七行プログラミング」とは - Qiita
  • 1