並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 21 件 / 21件

新着順 人気順

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

  • Windows NT系はUNIX系と比較して設計上のどういう点が先進的だったのか?

    元Google・現Microsoftのソフトウェアエンジニアであるジュリオ・メリノ氏が、現代のWindows 11の基盤アーキテクチャとなっているWindows NT系と、FreeBSDやLinuxなどに代表されるUNIX系を比較した考察をまとめています。 Windows NT vs. Unix: A design comparison - by Julio Merino https://blogsystem5.substack.com/p/windows-nt-vs-unix-design ・開発の経緯 MicrosoftはDOS系となるMS-DOSを1981年8月に、Windows 1.0を1985年11月にリリースしました。そして、DOS系の後継としてOS/2をIBMと共同開発していましたが、プロジェクトが難航したため、OS/2とは別となるMicrosoft独自の「Windows N

      Windows NT系はUNIX系と比較して設計上のどういう点が先進的だったのか?
    • やはりC++はCよりも遅い?

      とりあえず、残りは細かいことが多いので後で書かないと思うので一般的なことだけ少し書き残しておきます。大人の事情もあるので具体的なことは勘ぐらずに一般論の個人的な考えとしてお願いします。まぁ、今回の内容には直接の知財問題は無いとは思いますが。 例えば、ある程度大きなプログラムで、昔はCで書かれていて、バージョンが上がる度にプログラムは大きくなり、大きいプログラムのメンテナンスや開発効率のために、また更に新しい規格のC++の記法を用いたりしてバージョンアップをしていくことは往々としてよくある話かと思います。 記法が高度で複雑になるほど、最適化も難しくなるはずです。 C言語程度の単純な記法に対しては、「__builtin_expect()」 とか 「__attribute__()」 とか 「#pragma」 のいろいろな最適化指定も効きましたが、高度な記述の最適化に必要な高度なコンテキストをコメ

      • 非エンジニアが一年間Neovimを使った感想

        はじめに これは、非エンジニアの学生が一年間Neovimを使ってみて感じたことを気ままに書いた記事です。 エディタ遍歴 まず最初に自己紹介がてらこれまでのエディタ遍歴を紹介します。 Eclipse(2022/4 ~ 2023/7) 最初に使ったエディタ(IDE)は、Eclipseです。 学校の授業で半年間だけc言語をやる機会があったので、その時に入れました。 本当はVS Codeを入れたかったのですが、当時のわたしはVisual StudioとVisual Studio Codeの違いすら分からないエディタ弱者だったので断念しました。 しかし、ここでVS Codeを使っていたらおそらくNeovimには出会えなかったと思うので、結果的には幸運だったと思います。 Eclipseは、c言語を書く以外にも学校のレポートをTeXで書くために使っていました。 エディタ内で編集やコンパイルやPDFのプレ

          非エンジニアが一年間Neovimを使った感想
        • 初版「ROS2ではじめよう 次世代ロボットプログラミング」ROS 2移行章公開

          実に5年ぶりの改訂となる改訂新版「ROS2ではじめよう 次世代ロボットプログラミング」が9/19に発売されます。それを記念して、9/11からROS2本の紹介記事を連続投稿しています。 改訂新版「ROS2ではじめよう 次世代ロボットプログラミング」編集協力者初版「ROS2ではじめよう 次世代ロボットプログラミング」ROS 1ツアー章公開今回も初版ではかなり好評をいただいていたRommbaドライバーを題材にROS 1パッケージをROS 2パッケージに移行する作業を実践する章をブログフォーマットに直して、無償公開します。前回同様、2025年にROS 1はディスコンとなるため、あえて改訂新版から削除しました。 2019年当時の内容のままなので、少し古くなっている部分はご了承ください。 RoombaとROSの歴史iRobotが製造、販売しているロボット掃除機Roombaを知らない人は、今やほとんどい

            初版「ROS2ではじめよう 次世代ロボットプログラミング」ROS 2移行章公開
          • 剰余を高速に求める

            MIDIや音階の処理をしていると、% 演算子で剰余を計算したくなるときがあります。 例えば x % 12 はMIDIノート番号 0 ~ 127 からオクターブ分を抜いて 0 ~ 11 の値に置き換えたいときによく使います。 ところが、C言語の剰余演算子を負数と一緒に使うと、結果も負数になってしまいます。 MIDIノート番号には負数が出てこないので影響はないのですが、五度圏を文字盤に見立てた「時刻」の値(調号の♯の数)など、一時的に負数が出てくる場合、結果が負数になったら +12 するといった対応が必要になります。 ここでふと思ったのですが、割る数を固定にした剰余の計算なら高速化できるのではないか? そう、例えば x & 3 のようにビットAND演算子を使って二進数の11でマスクすれば、どんな値でも下2ビットだけになって、結果的に4で割った余りが出せますよね。しかもこの方法なら割られる数が負

              剰余を高速に求める
            • AWSで簡易なWebアプリをデプロイ ~ 全体概要編 ~ - Qiita

              お疲れ様です.Tomです. 表題の通り以前,AWSで簡易なWebアプリをインターネット環境にデプロイしました. 記録として,考えたことややったことなどを記載していきたいと思います. 記事全体としては編で構成されており,アプリのコンポーネントごとに詳細を書いております.ここではアーキテクチャや思ったことも含めて”全体”を振り返るマテリアルになっています. 概要 実施したことは大きく下記のようになっており,非常にシンプルです. アーキテクチャの構想と設計 インフラの構築 ┗ サーバ構築: スペック選定から必要パッケージインストールまで ┗ DB関連: 構築からテーブル作成まで ┗ ネットワーク: VPC(ACL等も含む),ドメイン取得(Route 53),証明書関連 アプリケーションのビルド ※ Javaのソースをビルドしてテストを行い,不具合や改善点があればソースコードを修正するということを

                AWSで簡易なWebアプリをデプロイ ~ 全体概要編 ~ - Qiita
              • 音源作りに持っておきたい本 サウンドプログラミング入門 - 電子趣味の部屋

                Arduino UNO R4にDACがあるので何か音源を作ってみたいと思いました。 過去にmbedでPSG音源やファミコン音源を作って遊んでたことがありました。 その頃に結局実現する前に飽きて止まってしまってますがFM音源を作ってみたいなと思い、仕組みを理解するために買って今でも音源関係で役に立っている本があります。 サウンドプログラミング入門 - 音響合成の基本とC言語による実装 初版は2013年3月10日発行ですが、現在でも現行商品として販売されています。 章の構成を見てもらえればわかると思いますが、波形を出力する基本からPSG音源やFM音源等の仕組みも解説されていて1冊で一通りのことがコンパクトに書かれています。 この手の本は他になかなか無いので、重宝しています。 章の構成 第1章 サウンドプログラミングの基礎知識 1.1 サンプリング 1.2 標本化 1.3 量子化 1.4 メディ

                  音源作りに持っておきたい本 サウンドプログラミング入門 - 電子趣味の部屋
                • SBOM 法規制の検討状況と yamory を活用した効率的な管理 | Amazon Web Services

                  AWS JAPAN APN ブログ SBOM 法規制の検討状況と yamory を活用した効率的な管理 本記事は Visional グループの 1 社である株式会社アシュアード yamory 事業部 プロダクトオーナー 鈴木 康弘 氏と、アマゾン ウェブ サービス ジャパン合同会社 パートナーソリューションアーキテクト 飯田 祐基による共著です。 近年、米国をはじめ各国で Software Bill of Materials (SBOM) の開示を義務化する法規制の動きが活発化しています。この背景にはオープソースソフトウェアの利用増加、ソフトウェアサプライチェーンの複雑化やサイバー攻撃手法の高度化に伴う、ソフトウェアサプライチェーンにおけるセキュリティリスクの高まりが挙げられます。 この記事では SBOM とはどの様なものか、その重要性や各国の法規制の検討状況を解説するとともに、 アシュア

                    SBOM 法規制の検討状況と yamory を活用した効率的な管理 | Amazon Web Services
                  • glibc をビルドしてみよう

                    # ソースの入手 wget https://ftp.gnu.org/gnu/glibc/glibc-2.39.tar.gz tar zxf glibc-2.39.tar.gz # ディレクトリの準備 mkdir glibc-build glibc-install # ビルド, インストール用にソースと別ディレクトリが必要 cd glibc-build # ビルド・インストール ../glibc-2.39/configure --prefix=`realpath ../glibc-install` CFLAGS="-O2 -D_FORTIFY_SOURCE=2" # ビルドエラーの回避のため CFLAGS の指定が必要 make -j make install # 動作確認 LD_PRELOAD=`realpath ../glibc-install/lib/libc.so.6` <your-

                      glibc をビルドしてみよう
                    • C# なるべく高精度な Timer を使う - sh1’s diary

                      C# の Timer 事情 補足:自分で sleep を利用したタイマーを作る場合 Windows マルチメディアのタイマー実装の注意 実装するときの P/Invoke 太古の情報 サンプル 参考 Windows において、高精度なタイマーを実装するのは 2000 年以前から難しい(困難)ことで知られています。 ゲーム開発においては 60/30 fps でゲームを動かすので、そのためによくタイマーを利用しますが、諸々の理由でなるべく高精度なタイマーであるほうが望ましいケースもある。(格闘ゲームや音楽ゲームは理由をイメージしやすい) そんなわけでなるべく高精度なタイマーをどのようにして利用するのか記録した記事です。 C# の Timer 事情 System.Timers.Timer System.Thereading.Timer System.Windows.Forms.Timer Syst

                        C# なるべく高精度な Timer を使う - sh1’s diary
                      • 【C言語】アンダースコアではじまる10の予約語 - Qiita

                        今回ご紹介するものはその内の1つ、キーワードになります。 C言語(C11)で予約されているキーワードは44個あるそうです。その内、アンダースコアではじまるものは10個あります。当然ですが、予約されているものは識別子(変数名、関数名、型名など)として使ってはいけません。 今回の主役の面々をざっと並べてみます。(アルファベット順) _Alignas、_Alignof、_Atomic、_Bool、_Complex、_Generic、_Imaginary、_Noreturn、_Static_assert、_Thread_local いかがでしょうか?ご存じのものはありましたかね。 ところで _ って、アンダースコア、アンダーバー、アンダーライン、と色々な呼び名がありますが、一体どれが最適なのでしょうか。 試しにC11の最終ドラフトであるN1570を見てみると、underscoreとの記載がされてお

                          【C言語】アンダースコアではじまる10の予約語 - Qiita
                        • 文系新卒Bizdevが42にハーフコミットしてみた|motttyam

                          ここはどこ、私は誰?こんにちは。 私は42Tokyoに通っている、いたって普通の文系新卒Bizdevです。このたび、「minishell」という課題をなんとかクリアしたので、この半年間を振り返ってみたいと思います。 『42Tokyoに通っている、いたって普通の文系新卒Bizdev』 「つまり誰だよ?」と言われそうなので、もう少し詳しく自己紹介してみます。 私は元々地方出身で、関西の大学に進学しました。その後、IT系の企業に24卒としてなんとか入社し(就職活動で内定をもらえたのは唯一ここだけでした!)、現在はB2CのサービスのPdM(プロダクトマネージャー)として日々奮闘しています。 もともと文系科目が得意で、大学では主に経営学を専攻していました。プログラミングについては、会計学や金融学の科目は履修していたものの、全く馴染みがありませんでした。ちなみに、実家は八百屋です。(本当にどうでもいい

                            文系新卒Bizdevが42にハーフコミットしてみた|motttyam
                          • スイッチのON/OFFによりLEDを点灯・消灯させる

                            CS+のプロジェクトを作成から、スイッチのON/OFFにより、LEDを点灯・消灯させることを学びます。 「ポート機能で使用するレジスタの説明」や「IOポートの設定」にて学習しているため、ポート・レジスタに対して 0 と 1 を設定するのみでLEDを点灯/消灯させることができるとイメージできる方もいると思います。実際にその通りで、あまりプログラミングをすることもなくLEDの点灯/消灯が出来てしまいます。 このため、今回は、CS+のプロジェクト作成から、「IOポートの設定」で作成したファイルを利用し、main関数にてLEDを点灯するまでの一連の流れを学びたいと思います。 CS+のプロジェクトを作成する 最初にCS+を起動してプロジェクトを作成します。作成手順は、「CS+を使ってマイコン基板と接続する」の「CS+の起動から設定まで」章以降の手順で作成します。 プロジェクト名は、「LED_test

                            • 三項演算子は本当に読みにくいのか。TypeScript で分かった三項演算式クラスの効果

                              三項演算子は本当に読みにくいのか コードをドキュメントのように読みやすくすることは非常に多くのメリットがあります。 そして、プログラミング言語自体にも読みやすくするためだけに存在する構文があります。 その1つが三項演算子です。 const value = x === 1 ? "A" : "B"; いやいや、三項演算子は読みにくいだろう、と思われた方は多いと思います。 しかし、読みやすいケースがあることも私は経験しています。 あなたも経験しているかもしれません。 なぜ、読みやすさに差が出るのか。調べていった結果、ポイントが分かりました。しかし、それを言語仕様として持っているものはありません。 そこで、TypeScript で読みやすい三項演算式を書くためのクラスを開発したのでご紹介します。 そのクラスを使った TypeScript のコードは、次のようになります。 Python の条件式(三

                                三項演算子は本当に読みにくいのか。TypeScript で分かった三項演算式クラスの効果
                              • Three.js の WebGPU 対応と TSL について

                                Three.js の WebGPU 対応について調べていく中で、ここ数年の Three.js にまつわる動向がいろいろと興味深かったので、その周辺も含めて簡単にまとめてみました。 そもそも WebGPU とは? WebGPU は、WebGL の後継技術として登場した次世代グラフィックス API です。より低レベルで汎用性のある GPU アクセスを可能にし、ブラウザ上での高度な 3D グラフィックスやコンピューティングの実現を目指しています。 WebGPU が生まれた背景には、近年のグラフィックス技術の進化が関係しています。従来の WebGL は OpenGL ES を基盤としており、Web の 3D グラフィックス表現を中心に広く使用されてきましたが、2010 年代中頃から OpenGL のレガシーな API 設計に起因するさまざまな問題点[1]を克服するため、Vulkan や Metal

                                  Three.js の WebGPU 対応と TSL について
                                • PythonでBrainfuckインタプリタを作る

                                  ある程度プログラミングに詳しくなってくると、視界が開けて世の中にはいろんなプログラミング言語があることに気づきます。難解プログラミング言語も例外ではありません。その中でも特にBrainfuckについては基本系はもちろん姿や形を変えて、ことあるごとに話題にあがる一種のプログラミングジョークとしての地位を確立しているように見えます。 このところは本業とゲームに忙しく、なかなかこういった面白い技術に触れる時間がなかったのですが、最近某所でBrainfuckの投稿を見かけたことがきっかけで、そういえばBrainfuckのインタプリタを作った記憶がないと気づいたことと、過去に私が技術書展で頒布した同人誌の中でPython VMを使って自作言語を作ったことを思い出し、ふたつを組み合わせてなにか興味深いものが書けないかと思い立ってコネコネし始めて作られたものがこの記事です。 ここでは改めてBrainfu

                                    PythonでBrainfuckインタプリタを作る
                                  • C言語ナビゲーター|システム開発のための最強リソース

                                    C言語におけるvoidの使い方完全ガイド~基本から高度な活用法まで~ 1. C言語におけるvoidの基本 C言語でのvoidは、関数が値を返さないことを示す特別なキーワードです。関数が特定のタスクを実行し、その結果を返す必要がない場合に使用されます。例えば、データの出力や単純な処理を行う関数にvoidを使用します。C言語の初心者にとって、この概念を理解することは重要です。なぜなら、voidを正しく使うことで、プログラムの構造と意図が明確になり、コードの読みやすさと保 […] C言語での乱数生成を完全マスター~rand関数とsrand関数の使い方と実践例~ 1. C言語での乱数生成方法:rand関数 1.1 rand関数とは? rand()関数は、C言語で疑似乱数を生成するための関数です。疑似乱数とは、あらかじめ決められたアルゴリズムで生成される数列であり、真の乱数ではありませんが、一般的な

                                      C言語ナビゲーター|システム開発のための最強リソース
                                    • C# で高速な Dictionary を自作する - 屋根裏工房改

                                      はじめに プログラミングするうえで、 Dictionary<TKey, TValue> はもはや必須と言ってもいい要素でしょう。 しかしこの Dictionary 、実際どういう仕組みで動いているのかわからない、うっすらハッシュを使っていることはわかるけど具体的には……?、という方もいらっしゃるかと思います。というか私がそうでした。 なので、本稿では Dictionary がどうやって動作しているのか、自分で高速な Dictionary を実装するにはどうしたらよいかについて説明したいと思います。 どうしてわざわざ Dictionary を自作するのかというと、内部で ArrayPool<T> を利用する Dictionary を実装してアロケーションを減らしたいからです。こと Unity ではアロケーションに敏感なことが多く、減らせるものは減らしたいですからね。Dictionary は使

                                        C# で高速な Dictionary を自作する - 屋根裏工房改
                                      • 【初心者用】はじめてのC言語1 | レックテレワーク、ゲーマーズハイ、アスクビーの運営、受託開発・SES・オフショア開発 | ラーニンギフト株式会社[公式]

                                        C言語を勉強して感じたことをまとめていきたいと思います。 専門的な用語などは別途わかりやすいように説明致します。 1972年にUNIX開発の為に作られたプログラミング言語です。 50年以上の歴史があり汎用性が高く、様々な言語に派生しているため、C言語を勉強すると他の言語にも応用が効きやすいです。 開発言語にはコンパイル型のインタプリタ型が存在するが、C言語はコンパイル型であり、ソースコードを機械語に一括変換する為、実行速度や処理性能がインタプリタ型より高いです。 またプログラム実行前に誤字や文法的なミスを見つけてくれる機能もあります。 C言語を利用して作ることができるものと言えば、例えば、WEBアプリ、スマートフォンアプリ、ロボットなどを制御するような組み込みアプリなどが挙げられます。 またコンピューターのOS(オペレーティングシステム)周りでも用いられることが多いです。 速い応答が要求さ

                                          【初心者用】はじめてのC言語1 | レックテレワーク、ゲーマーズハイ、アスクビーの運営、受託開発・SES・オフショア開発 | ラーニンギフト株式会社[公式]
                                        • Solidityとは?基本文法や実装方法まで実例を用いて詳しく解説|Udemy メディア

                                          ブロックチェーン上で動くスマートコントラクトを実装する方法の1つとして、Solidityが挙げられます。Solidityを使った開発を進めるには、基本的な文法や使い方を学ぶことが大切です。 この記事ではSolidityの基本文法やスマートコントラクトの実装方法、Solidityを習得するメリットなどについて解説します。 公開日:2023年4月27日 Solidityとは、Ethereum(イーサリアム)の共同設立者であるプログラマーのギャビン・ウッドによって開発されたプログラミング言語です。ここでは、Solidityの特徴や用途について解説します。 初心者でも扱いやすいプログラミング言語 Solidityは、スマートコントラクトを作成するための機能を備えたオブジェクト指向のプログラミング言語です。C言語やC++、JAVAなどと同じ高級言語(人間が理解しやすい形式で記述された言語)に分類され

                                            Solidityとは?基本文法や実装方法まで実例を用いて詳しく解説|Udemy メディア
                                          • Pro MicroにQMKファームウェアを書き込む方法の備忘録

                                            背景最近、自作キーボードのLily 58 Proと7sProを組み立てたその際に、それぞれのキーボードで利用されたマイコンにQMK Firmwareを書き込む必要があったそこで、マイコンへのファームウェアの書き込み方法の備忘録を残す使ったものソフトウェアOSは次を使用した。 Windows 11Arduino IDEのバージョンは以下である。 (マイコンのドライバー用にArduinoはインストールをした) その際に、Arduino AVR Boards (ver. 1.8.6)のインストールも行った。Menuから、Tools > Board > Board Managerと進み、AVR検索すればインストールできる。QMKは次のバージョンになる。 QMK toolboxは次になる。 ハードウェアまた、マイコンとパソコンの通信及びリセットの為に次が必要だった。 Pro MicroArduino

                                              Pro MicroにQMKファームウェアを書き込む方法の備忘録
                                            1