並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 14 件 / 14件

新着順 人気順

C++言語の検索結果1 - 14 件 / 14件

  • C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -

    C言語(C++を含む)を習得したい人,ポインタを勉強したい人はgcc-14を使いましょう.難しいところは gcc-14 が丁寧に解説してくれます C言語の難しいところ 例を示します.C言語で記述された,たった6行のソースコードです int main() { int buf[10]; buf[10] = 0; return 0; } このソースコードには問題があります.初見でわかるでしょうか? : : : 問題があるのは buf[10]=0 の部分です.C言語でやりがちなミスですが,これがバグやセキュリティホールの原因になります. C言語が難しい理由は二つあります.この手の問題を見逃しやすい点と,この手の問題を理解することが難しい点の二つです gcc 14 に解説してもらいましょう 上記の6行のソースコードをgcc14を使ってコンパイルしてみます ソースコードのファイル名は test.c と

      C言語をマスターしたい人はGCCのバージョン14を使いましょう - pyopyopyo - Linuxとかプログラミングの覚え書き -
    • Mojoは「C言語のように速いPython」なのか - k0kubun's blog

      LLVMやSwiftを作ったChris LattnerがCEOをやっている会社が、Pythonの使用感とC言語並の性能を併せ持つ言語としてMojoをアナウンスした。 まだ手元で試せる状態でリリースされてはいないが、最大35000倍Pythonより速いという。 Mojo🔥 combines the usability of Python with the performance of C, unlocking unparalleled programmability of AI hardware and extensibility of AI models. Also, it's up to 35000x faster than Python 🤯 and … deploys 🏎 pic.twitter.com/tjT09U4F80— Modular (@Modular_AI) May

        Mojoは「C言語のように速いPython」なのか - k0kubun's blog
      • Linuxカーネルで学ぶC言語のマクロ - 覚書

        はじめに 本記事は電子書籍版もあります。 linuxカーネルはC言語のマクロを駆使して書かれています。それらのうち、凝ったマクロになじみの無い人には初見では意図がわからない&わかってみれば面白いであろうものをいくつか紹介いたします。対象読者は、C言語のユーザだけれども、マクロは定数定義くらいにしか使わないというライトなマクロユーザです。 マクロを使用する場所に依存するエラーを防ぐ 次のマクロは、二つの引き数の値を置換するだけの単純なものです。 #define swap(a, b) \ do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0) 注目すべきはマクロの定義全体を囲んでいるdo { ... } while (0)という表記です。初見の人には何のことかわからないと思います。考えられる最も単純な定義から遡って、なぜこ

          Linuxカーネルで学ぶC言語のマクロ - 覚書
        • プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!

          僕がプログラミングに触れた当時は、プログラミングといえば「まず C 言語」でした。それから 10 年以上が経ちました。学校の授業や企業の研修では未だに C 言語を教えているところがあるようです。関数型プログラミング言語という波が来ている 2012 年にもなって未だに C 言語をやっているというのはまるで進歩が無く残念な気もしますが、比較的多くのプログラマに浸透している共通言語を最初に教えるというのは、一方では喜ばしい事だと解釈する事もできるのかもしれません*1。まぁとにかく、本意にせよ不本意にせよ現場で プログラム初心者に C 言語を教える羽目になった 人がたくさんいて、プログラム初心者なのに C 言語を学ばざるを得なくなった 若者がたくさんいるということです。 C 言語を教えるときに避けて通れないのがポインタで、プログラム初心者が C 言語を学ぶときにやたらとつまずく人が多いのがポインタ

            プログラム初心者にC言語のポインタを不本意ながら教える羽目になったなら、こう教えると良いよ - 偏見プログラマの語り!
          • 授業課題でC言語の謎のエラーに困っていた→社会人大学院生(元金融SE)が、スペースを11個ほど追加してあげたらエラーが消えた!どういうこと?

            服さん @fukusanity 修士の頃、授業の課題でC言語書いてる時にどうしても謎のエラーが出て困っていた。それを見たSE経験(金融系)がある社会人大学院生の同期の女性が「ここにスペースを入れてみて」「もっと沢山、もっともっと」と言い出して、スペースを11個ほどコードに挟み込んだらエラーが消えた。怖かった 2020-02-21 00:45:53 服さん @fukusanity 驚いて「なんでこんなことになるんですか」「ていうかなんでわかったんですか」と聞いたけど「まあなんとなく」「勘」などと言ってはぐらかされた。「目で見てメモリダンプがわかる」みたいな話を聞くと彼女のことを思い出す。言語化できない知見で計算機の息遣いを察する能力は側から見ると霊感に近い 2020-02-21 00:45:54 服さん @fukusanity 彼女は当時参加してた研究のメンバーだったので共著で論文を書いたり

              授業課題でC言語の謎のエラーに困っていた→社会人大学院生(元金融SE)が、スペースを11個ほど追加してあげたらエラーが消えた!どういうこと?
            • なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?

              回答 (3件中の1件目) なかなか理解しづらい話だと思いますが、当時のベル研究所において、Unixのグループは濃密な知のルツボだったのです。B言語が発明されるとすぐに、十数人の人々が使い始め、良かったところと悪かったところのフィードバックが集まりました。デニスは数日後にはインタプリタ言語だったB言語をコンパイラ化し、古いバージョンを分かりやすいところに置いていました。B言語のユーザーは、バグを見つけるとデニスにメールし、バグが直るまで古いコンパイラを使っていました。 B言語をC言語に改名した主な理由は2つあります。まずB言語(とBCPL)は、CPUのアドレスがバイト単位ではなくてワード...

                なぜC言語は、B言語を継承して、1から設計し直さなかったのでしょうか?
              • Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴

                Intel の主席エンジニアの Josh Triplett の Open Source Technology Summit 2019 での講演 Intel and Rust: the Future of Systems Programming を取り上げ、Rust こそがシステムプログラミングの未来であり、C 言語はもはやかつてのアセンブリ言語である。つまり、未だに OS などのシステムプログラミングの大部分で使われる C 言語は Rust に置き換えられるのではないかと見る記事である。 「Cを愛して…」という文章をワタシが訳したのももはや10年以上前、C が他言語に置き換えられる未来が遂に来るのかと遠い目になってしまう。もっともワタシ自身、4年近く C 言語でコーディングしてないんだよね……。 でも、本当にそうなるのだろうか? 手近なシステムプログラミングの現場である Linux カーネ

                  Rustこそがシステムプログラミングの未来(で、C言語はもはやアセンブリ相当)なら、Rustで書かれたドライバのコードをLinuxカーネルは受け入れるべきなのか? - YAMDAS現更新履歴
                • 高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性

                  高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性 Modular社はPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Today is the day! Mojo for Mac is live! Download it right now! Read our launch blogpost on how to get startedhttps://t.co/XSMkqUmHKt — Modular (@Modular_AI) October 19, 2023 Mojoは9月に初めてローカル環境でコンパイルなどを実行可能なLinux対応のツール群を公開しています。今回のAppleシリコンにネイティブ対応した

                    高速なPython互換言語「Mojo」のMac版登場、Appleシリコンにネイティブ対応。Pythonの9万倍、C言語に比肩する高速性
                  • C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid

                    2019年12月の冬休みに1週間程かけて"Let's Build a Simple Database"という、C言語でSQLiteのクローンを作るチュートリアルをやりました。この存在を教えてくれた同僚に感謝 :pray: cstack.github.io チュートリアルの内容 Richard Feynman先生の“What I cannot create, I do not understand.”という言葉が掲げられているように、データベースを作ることでデータベースをより深く理解することに主眼が置かれているチュートリアルです。 これは重要事項説明かつタイトル詐欺に関する謝罪なのですが… 残念ながらこのチュートリアルは完成しておらず、Part 13が2017-11-26に公開されたのを最後に更新が止まってしまっており、以下の13章しかありません。 Part 1 - Introduction

                      C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid
                    • 電子回路設計&プログラミングシム『Shortcuit』Steamにて体験版配信。Arduino風マイコンとC++言語でバーチャル実験 - AUTOMATON

                      『Shortcuit』は、プログラミング言語C++と電子工学を学ぶことができる学習用サンドボックスゲームだ。オープンソースで提供されているワンボードマイコンArduinoがゲーム内に再現されており、組み上げたコンポーネントの動作を、C++にてプログラムすることができる。 マイコンボードには、Arduino UnoをシミュレートしたShortcuit Unoが実装。このほか、ブレッドボードやトランジスタ(BC550C)、抵抗器(E12・ポテンショメータ)、ダイオード(1N4148)、超音波距離測定センサー、また各種スイッチやモーター、LED、液晶ディスプレイ、バッテリーなどのパーツが用意される。 そしてプログラミングは、本作に実装されたコードエディタを使いC++にておこなう。エディタには、基本的なオートコンプリート機能や出力ウィンドウ、プログラムの検証に使えるシリアルモニターも用意。なおコン

                        電子回路設計&プログラミングシム『Shortcuit』Steamにて体験版配信。Arduino風マイコンとC++言語でバーチャル実験 - AUTOMATON
                      • C言語から0番地へアクセスする方法についての個人的まとめ - /var/log/hikalium

                        発端はuchan_nos氏によるこのツイートでした。 C言語で、本当にメモリの0番地にデータを書きたいときはどうすりゃええの?— うー@技術書典8 Day1う31 BitNOS (@uchan_nos) 2020年2月12日 それに対する私のリプライ: uint8_t *p = 1; p--; *p = v;— hikalium (@hikalium) 2020年2月12日 私はこれで話が終わると思っていたのだが、どうやらそうではなかったらしく、色々な視点からの意見が加わりながら、話は混沌を極めたのでした…。 ということで、ここに私のこのツイートに対しての見解とか、わかったことをまとめておこうと思います。 私のリプライの背景について uchanさんが求める「0番地にデータを書きたい」という課題設定を、私はこのように解釈しました。 C言語において、整数0をポインタに変換すると、それはNULL

                          C言語から0番地へアクセスする方法についての個人的まとめ - /var/log/hikalium
                        • C言語の知られザル・許されザル仕様 - Qiita

                          はじめに どうも、y-tetsuです。 かれこれC言語には、10年以上携わっているのですが、最近ふと学びなおしをしています。 「Cクイックリファレンス第2版」これを完走めざして読み始めました。全816ページの超大作! 先は長いので、日頃からかたわらに置いておき、表紙の牛さん(雌牛)と目が合ったら黙って少し読むようにしています。 言語の"歴"だけは長い筆者ですが、この本をちらっと読んだだけでもいまだに知らなかったことが結構潜んでいました。意外と己の"目"ってザルでした。 そんなこんなで学びなおしのため、今回は筆者が感じたままの知られザルそして許されザルなC言語の仕様について、備忘録を残します。 知られザル仕様 恥ずかしながら、今まで存じ上げザルだったシリーズ。 ダイグラフ 名前からして???だったんですが、キーボードによっては存在しない記号を別の2文字で表わすためのものだそうです。 !?…っ

                            C言語の知られザル・許されザル仕様 - Qiita
                          • Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita

                            はじめに 2024年1月1日に VGS-Zero (Video Game System - Zero) という RaspberryPi Zero 2W のベアメタル環境で動作するオリジナルのゲーム機エミュレータと SDK を公開しました。 VGS-Zero は、RaspberryPi Zero 2W をテレビに HDMI ケーブルで接続し、USB ゲームパッドで遊ぶタイプ(据え置き型)の新しいゲーム機です。 無料でゲームを開発&販売ができる SDK も公開していて、開発したゲームを完全ロイヤリティフリーで自由に販売して頂くことができます。 なお、OS は Linux ではなく独自カーネルです。 特徴 VGS-Zero の特徴について、カーネル視点とゲーム機視点の両面から解説します。 独自カーネルの特徴 ラズパイ全般(※Picoを除く)は Linux で動かすのが一般的ですが、VGS-Zer

                              Z80+C言語で16ビット機級の本格的なゲームが創れるゲーム機(VGS-Zero)を作ってみた - Qiita
                            • 世界のプログラミング言語(47) PythonのようにシンプルでC言語のように高速な言語Nimを試してみよう

                              NimはPythonのようにシンプルな構文を持ちながら、C言語と同等の速度で動かすことができるプログラミング言語です。そのため、ゲーム開発からシステムプログラミング、Web開発とさまざまな用途で活用されています。今回は、効率性と表現力が魅力のNim言語の魅力に迫ってみましょう。 シンプルな構文を持ち実行速度が速いNimでFizzBuzzを実行したところ Nimとは Nimは2008年にドイツの開発者アンドレアス・ランプフによって開発されたプログラミング言語です。最初のNimはPascalによって書かれており、その後すぐにNim自身で書き直されました。 Nimの特徴は、Pythonのようにスッキリとした構文を採用しており可読性が高いことです。型推論を備えていることから静的型付き言語ながら記述が少なくすみます。また、強力なマクロとテンプレートの機構を備えており、メタプログラミングが可能です。

                                世界のプログラミング言語(47) PythonのようにシンプルでC言語のように高速な言語Nimを試してみよう
                              1