並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 179件

新着順 人気順

C++言語の検索結果81 - 120 件 / 179件

  • 23歳文系で今更セキュリティエンジニアになりたいと本気で思いました。PCについては何も分かりません。始めたC言語も難しいです。一日中勉強すべきですか?何から始めればいいですか…諦めた方がいいですか?に対する徳丸 浩さんの回答 - Quora

    • C言語の副業案件を獲得する方法とは?C言語エンジニアの仕事を詳しく解説!

      2018年1月より副業が出来るように就業規則の修正があったり、2019年政府が打ち出した働き方改革の推進により副業を認める企業や副業を希望する方が年々増加しております。 そんな今回はC言語エンジニアが副業案件を獲得する方法について詳しく解説していきます。 特に副業においてプログラミング言語のC言語を使用するのであれば、正しい仕事の探し方や案件毎の特徴を把握しておくことが必要です。 さらにC言語の副業において必要なスキルなども解説していきます。 特に下記の方にこの記事を一読していただきたいです。 ・C言語での副業を今後検討している方 ・C言語での副業を現時点でされている方 ・C言語エンジニアに興味がある方 ・フリーランスを今後検討している方 ・フリーランスを現時点でされている方 ・フリーランスエージェントを1度も活用したことがない方 ・在宅ワークを今後検討/興味がある方 1.C言語とは? C

        C言語の副業案件を獲得する方法とは?C言語エンジニアの仕事を詳しく解説!
      • C言語がコンパイル~実行されるまで

        記事の内容以下のソースコードがコンパイル~実行されるまでに、何が行われるのかを理解する。 細かいオプションや処理の詳細は追わない。 #include <stdio.h> #define MESSAGE "hello world\n" int main(int argc, char *argv[]) { printf(MESSAGE); return 0; } 検証環境]$ uname -rm 3.10.0-957.10.1.el7.x86_64 x86_64 ]$ gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditi

          C言語がコンパイル~実行されるまで
        • C++ - それはC言語でありC言語ではない|kzn

          C++が登場したのは1983年でした。もっとも登場したと言っても、最初の頃に使えたのはC言語へのトランスレータであり、言語仕様も試行錯誤の繰り返しでした。C++で書かれたコードはC言語になるだけなので、もしC++処理系に怪しいところがあっても、それは人間であったりCコンパイラが問題を見つけるので、言語仕様の解釈がよく分からなくても、結果を見て対応することは出来たわけです。 C言語を本格的に使うようになると、ライブラリとして使うような関数や構造体が増えてきて、その管理に困るようになります。一般的には名前の一部を使ってグループ化したりしていましたが、長い名前を使うと打ち込むのが面倒なだけではなく(統合環境の支援なんてありません)、リンカが扱える名前の長さ制限や名前領域が不足したりしはじめるので、数文字程度の追加で済まそうとするのですが、そうすると今度は何かの拍子にかち合うことも出てきました。

            C++ - それはC言語でありC言語ではない|kzn
          • 「C言語を効率的に実行」するためAT&Tベル研で生まれた「Hobbit」の奇妙な冒険(人知れず消えていったマイナーCPUを語ろう 第17回) | テクノエッジ TechnoEdge

              「C言語を効率的に実行」するためAT&Tベル研で生まれた「Hobbit」の奇妙な冒険(人知れず消えていったマイナーCPUを語ろう 第17回) | テクノエッジ TechnoEdge
            • Windows 10で始めるC言語開発(13) Windows 10でC言語開発をしよう! Makefileの基本的な書き方を知る

              makeはMakefileで動作を指定する 前回、複数のCのソースコードファイルをビルドするためにmakeを使う方法を説明した。makeはファイルの依存関係などに基づいて処理を行うためのツールで、複数のファイルをビルドする必要がある場合なんかに便利なツールだ。 makeがどのように振舞えばよいかは、Makefileというファイルに記述することになっている。前回は次のようなMakefileを用意して使用した(今回の説明に合わせたいので、ちょっとだけ変更してある)。 前回用意したMakefile OBJS= csv2tsv.o util.o CMD= csv2tsv.exe CFLAGS+=-g CC= clang build: $(CMD) $(CMD): $(OBJS) $(CC) $(CFLAGS) -o $(CMD) $(OBJS) csv2tsv.o: csv2tsv.c $(CC)

                Windows 10で始めるC言語開発(13) Windows 10でC言語開発をしよう! Makefileの基本的な書き方を知る
              • C言語で10進数の0 - 西尾泰和のScrapbox

                「C言語で」とは言われたがいつのC言語とは言われてないので「0が8進と定義される前のCコンパイラ」をどこかから見つけてきて0って書くとかかな…

                  C言語で10進数の0 - 西尾泰和のScrapbox
                • Windows 10で始めるC言語開発(4) Windows 10でC言語開発をしよう! Visual Studio Code ビルド編

                  フォルダを用意する VSCodeではフォルダが作業する時の最小単位になっている。フォルダごとに設定ファイルが保存される。まず最初は、プログラムごとにフォルダを新規作成して使用すると思っておけばよいと思う。 まず、次のようにメニューから「File」→「Open Folder…」を選択する。 「File」→「Open Folder…」 使うフォルダを選択する。フォルダを用意していないなら、ここで新規作成して選んでから「フォルダーの選択」を押す。 使用するフォルダを選択 これが新しいプログラムを作成する際の最初の作業だ。 Cソースコードのファイルを作成する 次に、用意したフォルダにCのソースコードを作成する。メニューから「File」→「New File」を選択する。 「File」→「New File」 すると、次のように「Untitled-1」といった新規ファイルが作成される。 作成された新規フ

                    Windows 10で始めるC言語開発(4) Windows 10でC言語開発をしよう! Visual Studio Code ビルド編
                  • C言語とJavaの連携: パワフルなクロスプラットフォーム開発 - Python転職初心者向けエンジニアリングブログ

                    こんにちは、プログラミング愛好者の皆さん。今回はC言語とJavaを連携させ、異なる言語間でのシームレスなデータのやり取りや機能の組み合わせを実現する方法に焦点を当ててみたいと思います。C言語とJavaは異なる特徴を持つ言語ですが、その組み合わせにより、パワフルなクロスプラットフォーム開発が可能です。 1. C言語からJavaを呼び出す まずは、C言語からJavaのメソッドを呼び出す例を見てみましょう。JNI(Java Native Interface)を使用して、C言語からJavaのメソッドを呼び出すことができます。 C言語のコード (example.c) #include <stdio.h> #include <jni.h> void callJavaMethod() { // Java仮想マシンの初期化 JavaVM *jvm; JNIEnv *env; JavaVMInitArgs

                      C言語とJavaの連携: パワフルなクロスプラットフォーム開発 - Python転職初心者向けエンジニアリングブログ
                    • C言語のアロー演算子(->)を分かりやすく、そして深く解説

                      C言語プログラムで度々見かける「->」。これアロー演算子と言います。このページでは、このアロー演算子の意味、「*」「.」「->」の関係性、使い方をわかりやすく、そして深く解説していきたいと思います。 アロー演算子とは アロー演算子とは「->」のことです。ポインタが指す構造体(クラス)のメンバへアクセスするために使用します。例えば下記のように記述することで、構造体のポインタpdからメンバaにアクセスすることができます。 pd->a; アロー演算子の左側は構造体のポインタである必要があります。構造体だとしてもポインタでなければコンパイルエラーです。 でも、ポインタを習った時に、ポインタが指すデータへのアクセスには「*」を使うって教えてもらいましたよね?なぜ構造体の時だけポインタなのにアロー演算子を使うのでしょうか?実際のところアロー演算子ってどんな動きをする演算子なのでしょうか?この辺りを下記

                        C言語のアロー演算子(->)を分かりやすく、そして深く解説
                      • Windows 10で始めるC言語開発(3) Windows 10でC言語開発をしよう! Visual Studio Code編

                        今から使うならVisual Studio Code プログラミングにおいて、ソースコードを書くという行為から「エディタ」を欠かすことはできない。一口にエディタといってもさまざまだ。Windows 10では「メモ帳」が最初からインストールされている最もシンプルなエディタであり、業務でソフトウェア開発を行う場合は「Visual Studio」を使うことが多いだろう。Visual Studioはエディタというより、「統合開発環境」と呼ばれることが多いアプリケーションだ。 エディタまたは統合開発環境はプログラミングの効率に直接関与してくる。既に愛用している慣れ親しんだエディタや統合開発環境があるなら、それをそのまま使えばよい。そうでなければ、できるだけ作業効率のよいアプリケーションを選択するのがポイントだ。 エディタや統合開発環境の人気の指針のひとつとして、「TOP IDE index」がある。ラ

                          Windows 10で始めるC言語開発(3) Windows 10でC言語開発をしよう! Visual Studio Code編
                        • C言語を勉強したい初心者向け・問題集として最適なサイト&書籍16選 - paiza times

                          Christopher KuszajewskiによるPixabayからの画像 こんにちは。倉内です。 C言語は1972年に開発されたプログラミング言語で、WindowsやLinuxのOS開発、自動車や家電の組み込み開発などでよく利用されています。 情報系学部ではプログラミングの授業で扱われることが多いため、「はじめて学んだプログラミング言語はCです」という方も多いかもしれません。 C言語は仕様としてはそれほど難しくはないシンプルな言語なのですが、メモリ管理やポインタなど初めてプログラミングを学ぶ方にとっては少々難解な部分があります。ただ、C++やC#といったC系の言語はもちろん、PHPやJavaもC言語の影響を受けて作られており、学んでおいて損はない言語です。 そこで今回は、C言語を基礎から学びたい方、問題集をこなしてもっと勉強したい方向けに、演習問題があるサイトや書籍を集めましたのでご紹

                            C言語を勉強したい初心者向け・問題集として最適なサイト&書籍16選 - paiza times
                          • SQLからC言語を呼ぶ方法 ~MeCab編~ - astamuse Lab

                            前書き お久しぶりでございます。Scalaでバックエンドを開発しているaxtstar(@axtstart)です。 ずいぶん昔になりますが、OracleDBでアプリ開発をしていたころ、DBの中でデータが(なぜか)バイナリで格納されていて、そのビット演算を行いながら検索するみたいな案件をやったことがあります。はじめはアプリサイドからSQLで頑張って演算していたのですが、あまりにも遅くて、結局OCI(Oracle Call Interface)を利用して、C++でバイナリを扱うように書き換えたら激的に速度が改善したことがありました。 今回ふと思い立ち、Postgresqlってそういうことができるのかしら?と思い至り今回のブログ担当を利用して検証してみることにしました。 なので、(確実に)プロダクション環境で実施するのははばかられるような内容ですのでご注意下さい。 使用できる言語は... ちなみに

                              SQLからC言語を呼ぶ方法 ~MeCab編~ - astamuse Lab
                            • 整数同士の除算演算子の挙動 (C言語、C++、Scala、Java、Rust、Go言語、PHP、JavaScript、Perl、Python、Ruby、Elixir) - Qiita

                              整数同士の除算演算子の挙動 (C言語、C++、Scala、Java、Rust、Go言語、PHP、JavaScript、Perl、Python、Ruby、Elixir)JavaRubyPythonPHPRust 整数での / と % の演算子の挙動。 整数を整数で割ったら 整数 vs 浮動小数点数 どっち? -5 / 4 は -1.25 PHP 割り切れないから浮動小数点数 C言語派のために intdiv という関数もある Perl 割り切れないから浮動小数点数 use integer を宣言するとC言語派に変わる Python 割り切れるか関係なく割り算したら浮動小数点数 C言語派のために // という演算子もある Elixir 割り切れるか関係なく割り算したら浮動小数点数 C言語派のために div という関数もある JavaScript はじめから整数と浮動小数点数の区別がない -5 /

                                整数同士の除算演算子の挙動 (C言語、C++、Scala、Java、Rust、Go言語、PHP、JavaScript、Perl、Python、Ruby、Elixir) - Qiita
                              • C言語フリーランス求人・案件の単価相場と案件動向 【C言語フリーランスエンジニア必見】

                                C言語はWebシステム、Webアプリケーション開発、IoT、組み込みソフトなどの開発をすることができるプログラミング言語です。 そのため、C言語はフリーランスエンジニア向けのフリーランス求人・案件の中でも非常に人気があると言われています。 C言語エンジニアは需要に比べて人材不足で、エンジニアが案件を選べる市場です。 そんなC言語フリーランス求人・案件の単価や案件数を分析します。 [目次] ■C言語フリーランス求人・案件の種類 ■C言語で在宅(リモート)求人・案件はあるの? ■C言語未経験で参画出来るフリーランス求人・案件はあるの? ■C言語フリーランス求人・案件の相場単価 ■C言語フリーランス求人・案件の数 ■C言語フリーランス求人・案件は浅い商流で案件参画すれば高単価 ■C言語フリーランス求人・案件で高単価を目指すために必要な3つの経験 ■C言語フリーランス求人・案件の今後の動向 ■まと

                                  C言語フリーランス求人・案件の単価相場と案件動向 【C言語フリーランスエンジニア必見】
                                • C言語 ifdef 【プログラムをカットする技術と使い方を紹介】

                                  「ifdef」を利用することで不要なプログラムを無効化したり、異なるプログラムを切り替えたりすることができるようになります。 使いこなすことで、かなり強力な武器になる機能ですので習得しておきましょう。 本記事では次の疑問点を解消する内容となっています。

                                    C言語 ifdef 【プログラムをカットする技術と使い方を紹介】
                                  • C言語とC++の連携: シームレスなプログラミング体験 - Python転職初心者向けエンジニアリングブログ

                                    こんにちは、プログラミング仲間の皆さん。今回はC言語とC++を連携させ、それぞれの言語の特長を最大限に活かしながら効果的にプログラミングを行う方法についてご紹介します。C言語とC++を組み合わせることで、低レベルな操作から高度なオブジェクト指向プログラミングまで、より豊かなプログラミング体験が得られます。 1. C言語の関数をC++から呼び出す 最初に、C言語で書かれた関数をC++から呼び出す方法を見てみましょう。C言語のコードをヘッダーファイルにまとめ、それをC++でインクルードして使用します。 C言語のコード (example.c) // example.c #include <stdio.h> void helloFromC() { printf("Hello from C!\n"); } C++のコード (main.cpp) // main.cpp #include "exampl

                                      C言語とC++の連携: シームレスなプログラミング体験 - Python転職初心者向けエンジニアリングブログ
                                    • RMS、GNU C 言語リファレンスマニュアルをアナウンス | スラド デベロッパー

                                      冒頭だけ読みましたが、これは初心者殺しのマニュアルですね。RMSは多数の罠を仕込んでいます。 1) 最初の罠: gitで公開されているファイルは GNU Texinfo 形式 あなたは git が使えますか? texi から html やpdfを生成できますか? この質問で何を聞かれているか理解できない人は、このマニュアルを読むことさえ出来ません。RMSこわい。 2) 次の罠: 最初のコードはフィボナッチ数を再帰処理で計算する例 いきなり再帰関数です。フィボナッチ数。スタック使って再帰を実行するぜ。メモリブロックの一部がスタックって呼ばれる領域なんだけど、C言語はそこを使って再帰を実現するんだぜ。スタック食い潰したらクラッシュする。どうだC言語は怖いだろっていう怒涛の文章になってます。これがイントロです。RMS頭オカシイ。 3) 1112行目でやっとコンパイル方法が説明されている 1000

                                      • 「大学生が疑問に思ったC言語の文字列型:その謎を解く」 - Qiita

                                        最近宇宙開発系の企業に興味を持っていて、その会社に行くためにはC言語の理解が必要不可欠なのではないかと感じたので、ここ最近C言語を触っています。 これまではJavaScriptやTypeScriptやRubyなどのインタープリタ言語をメインでやってきたので、C言語を学ぶとまた違う発見があって面白いです。 その中で、文字列型が他の言語と違うことに戸惑ったという話をしていこうと思います。 インタープリタ言語の文字列型 例えばTypeScriptにおいて文字列型を定義しようとすると、下記のように定義します。

                                          「大学生が疑問に思ったC言語の文字列型:その謎を解く」 - Qiita
                                        • C言語とJavaScriptの連携: ネイティブな計算力とWebの柔軟性を組み合わせる - Python転職初心者向けエンジニアリングブログ

                                          こんにちは、プログラミング仲間の皆さん。今回は、C言語とJavaScriptを連携させ、ネイティブな計算力とWebの柔軟性を組み合わせる方法について詳しくお伝えします。C言語の高いパフォーマンスとJavaScriptのWebアプリケーションへの組み込みが、プログラミングの可能性を広げます。 1. C言語の関数をJavaScriptから呼び出す まず最初に、C言語で書かれた関数をJavaScriptから呼び出す例を見てみましょう。この方法では、Node.jsとffi-napiモジュールを使用してC言語の関数を呼び出します。 C言語のコード (example.c) #include <stdio.h> void helloFromC() { printf("Hello from C!\n"); } JavaScriptのコード (app.js) const ffi = require('ffi

                                            C言語とJavaScriptの連携: ネイティブな計算力とWebの柔軟性を組み合わせる - Python転職初心者向けエンジニアリングブログ
                                          • 【C言語】プログラミング学習アプリ『Study-C』の紹介

                                            大学でC言語を学ばなければならないけど・・・C言語ってなんなの? 本格的に勉強する前にどんなものなのか知りたいな・・・

                                            • GNU コーディング標準 C言語編(多分前編)

                                              どうもどうもbeepcapだよ。 Twitterにてバカにしたのだが、意外とみんな知らなそうなのでもしかしてと思って調べたら日本語訳が無い。 そりゃ知らん人が多いわけだ。 ということで簡単に訳してみる。(一部超訳) 原文は: GNU Coding Standards: Making The Best Use of C 「5 C言語の最も優れた使い方」 この章では、GNUソフトウェアを作成する際にC言語を使用する最善の方法についてアドバイスします。 「5.1 ソースコードのフォーマット」 幅広い環境で最大限に読みやすくするために、ソース行の長さは79文字以下にしてください。 関数の本体を開始する左中かっこを1列めに配置して、定義することが重要です。いくつかのツールは、C 関数の始まりを見つけるために、1列めで左中かっこを探します。これらのツールは、この方法で書式設定されていないコードでは動作

                                              • 自作関数シリーズ第2回 sin関数 (C言語、Java、Python、Ruby) - ゲームなんでも屋&プログラミングなんでも屋

                                                このシリーズは普段ライブラリを利用して求めているような計算を自作するとしたらどのようなコードになるのかを紹介するシリーズです。といってもOpenCVやBeautiful Soupのような大規模なライブラリの関数を自作するわけではありません。大規模なライブラリは眺めてこんな感じ何だなって理解するに留めて、素直に作ってくれた人に感謝して利用しましょう。さて第2回ではsinを求める関数を自作したいと思います。ちなみに普通にsinを求めるには C言語: include<math.h>をしてからsin関数を使う Java: Mathクラスのsinメソッドを使う Python: import mathをしてsin関数を使う Ruby: Math.sinを使う 自作関数シリーズ第1回(ルートを求める関数) https://koro-game-programming.hatenablog.com/entr

                                                  自作関数シリーズ第2回 sin関数 (C言語、Java、Python、Ruby) - ゲームなんでも屋&プログラミングなんでも屋
                                                • C言語スキルアップチャレンジ:四方向のマス情報判定# - わくワーク

                                                  お元気さまです。わくワークの義(ヨシ)です。 C言語のスキルアップのために、練習問題を進めています。 練習問題は、次のリンクから見ることができます。 paiza.jp 今回の問題は、縦だけ、横だけの判定プログラムより複雑で、難しく感じました。 判定の方法は他にもあるかもしれませんが、上下左右の4方向のマスの情報を判定してヒットしたら1ポイント加算し、4ポイントになったら条件一致とするやり方にしました。 右端、左端、上端、下端の場合、それぞれ1方向が欠如するので、問題にある特別ルールで加算しています。 提出したコードは次のとおりです。 #include <stdio.h> int main(void){ char str[1000]; char buf[20][21]; int h,w,i,x,y,r; fgets(str, sizeof(str), stdin); sscanf(str,"

                                                    C言語スキルアップチャレンジ:四方向のマス情報判定# - わくワーク
                                                  • C言語で複素数値を構築する:CMPLXマクロの話

                                                    この記事は C言語 Advent Calendar 2023 の 2 日目の記事です。 C 標準には C99 で複素数型 _Complex が導入されました。実部が x, 虚部が y の複素数の値を構築するには、 x + y * I と書きます。 一方で、C99 の次の改定 C11 では複素数を構築する別の方法として CMPLX マクロが導入されました。この記事では、なぜ C99 の方法に問題があって CMPLX マクロが導入されたのかを説明します。また、コンパイラー間の違いによって起こる問題も説明します。 虚数単位 I は <complex.h> で定義されるマクロです。I は _Complex_I または _Imaginary_I に展開されます。気に食わないユーザーは #undef I することが特例で認められています。 _Complex_I は const float _Compl

                                                      C言語で複素数値を構築する:CMPLXマクロの話
                                                    • C言語とRubyの連携: パフォーマンスと柔軟性の共存 - Python転職初心者向けエンジニアリングブログ

                                                      皆さん、こんにちは。今回は、C言語とRubyを連携させ、高いパフォーマンスと柔軟性を同時に実現する方法についてお伝えします。C言語の力強い計算機能とRubyのエレガントなスクリプティングを融合させ、開発の可能性を広げましょう。 1. C言語の関数をRubyから呼び出す 最初に、C言語で書かれた関数をRubyから呼び出す例を見てみましょう。これにはRubyのFFI(Foreign Function Interface)を使用して、C言語の関数を呼び出します。 C言語のコード (example.c) #include <stdio.h> void helloFromC() { printf("Hello from C!\n"); } Rubyのコード (app.rb) require 'ffi' # C言語のDLLをロード module Example extend FFI::Library

                                                        C言語とRubyの連携: パフォーマンスと柔軟性の共存 - Python転職初心者向けエンジニアリングブログ
                                                      • ブラウザで動く C言語実行環境

                                                        C言語インタプリタ picoc を Emscripten でビルドしました。 エディタ部分は Visual Studio Code で使用されている Monaco Editor を使用しています。 完全にオフラインのみで動作しており、外部サーバーを一切使用しておりません。 そのため、実行制限などは一切ありません。あなたのパソコンのメモリが許す限り、好きなだけプログラミングの実践学習ができます。

                                                          ブラウザで動く C言語実行環境
                                                        • LEGOでカメラアームを作り遠隔でカメラを操作してみた(C言語 + Nuxt.js + Python + Firebase + SkyWay + ラズパイ) - Qiita

                                                          LEGOでカメラアームを作り遠隔でカメラを操作してみた(C言語 + Nuxt.js + Python + Firebase + SkyWay + ラズパイ) PythonRaspberryPiIoTLegoGoogleColaboratory はじめに 以前、WebRTCを使って、ブラウザから自宅のペットの様子を見られるペットカメラを作りました。 WebRTCで常時接続のペットカメラを作ってみた このペットカメラを遠隔で操縦できたらペットも探しやすいし、楽しい そして遠隔で物理的に操作するって、なんだか素敵です! そんなモチベーションで、LEGOでカメラアームを作り遠隔操作してみました。 githubのリポはこちら 全体構成 今回追加した機能は赤線で囲んでいます 必要なもの LEGO マインドストームEV3 いろいろ使えるLEGOセットで、なかなか楽しいです。 EV3という制御ブロックにモ

                                                            LEGOでカメラアームを作り遠隔でカメラを操作してみた(C言語 + Nuxt.js + Python + Firebase + SkyWay + ラズパイ) - Qiita
                                                          • なぜC言語をいちばん最初に学ぶと良いのでしょうか?

                                                            回答 (86件中の1件目) ざっくり分けるとプログラマーの領域は 1. カスタマーサービス(WEBサービスやスマホアプリ) 2. 業務システム(業務に必要なデータの入力、加工、出力) 3. 制御・組み込み系 があります。 このうち1.の領域を目指すなら現在はC言語は不要です。10年以上前はApache上にC言語で高速API作るとか、Objectve C++とかありましたが淘汰されていきました。ただし、基本的な変数の値渡し、参照渡し、配列がハードウェアとしてどう動いているかは、理解が不足していると、どの言語でもトラブルの元になりがちなのでポインターの基礎相当までは正しく理解が必要です。...

                                                              なぜC言語をいちばん最初に学ぶと良いのでしょうか?
                                                            • BPFによるパケットトレース――C言語によるBPFプログラムの作り方、使い方

                                                              BPFによるパケットトレース――C言語によるBPFプログラムの作り方、使い方:Berkeley Packet Filter(BPF)入門(5)(1/2 ページ) Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載。今回は、最も基本となるC言語によるBPFプログラム作成方法および使用方法について。 Linuxにおける利用が急速に増えている「Berkeley Packet Filter(BPF)」について、基礎から応用まで幅広く紹介する連載「Berkeley Packet Filter(BPF)入門」。前々回までは、BPFの基本やBPFのプログラムの作成方法を説明しました。前回から、「LinuxのBPFで何ができるのか」について詳しく見ています。 今回からさまざまなBPFプログラムを作成してBPFの使い

                                                                BPFによるパケットトレース――C言語によるBPFプログラムの作り方、使い方
                                                              • 複数ファイルによるプログラム | Programming Place Plus C言語編 第24章

                                                                トップページ – C言語編 このページの概要 以下は目次です。 規模の大きいプログラム ヘッダファイル インクルードガード ビルドの過程 コンパイル リンク extern と外部結合 static と内部結合 static と関数 練習問題 参考リンク 更新履歴 規模の大きいプログラム ここまでに登場したプログラムは、どれも1つのソースファイルだけで完結していました。しかし、もう少し規模の大きなプログラムを作るときには、ソースファイルを複数個に分割することが一般的です。 「1つのソースファイルだけで完結していた」と書いたばかりですが、これまでのプログラムも本当は複数のファイルが関わっています。これまでに登場したほとんどのプログラムで、冒頭に次の1行があります。 第23章で解説したとおり、これは #include というプリプロセッサディレクティブです。#include <stdio.h>

                                                                  複数ファイルによるプログラム | Programming Place Plus C言語編 第24章
                                                                • 【C#-WPF】MVVMパターンの基礎 - 業務のためのC#・C言語・C++学習

                                                                  MVVMパターンとは、データ(ロジック)とUI機能を分離するデザインパターンの一種で、開発やデバッグを効率的に行えるメリットがある。一方MVVMパターンを導入するが故に構成が複雑になるのがデメリットである。 WPFはMicrosoftによってMVVMパターンを導入することを目的としたUIフレームワークである。したがって、WPFではMVVMパターンを採用することが多い。ここがMVVMパターンが必要ないWindows Formsと大きく異なる点だが、残念ながらWPFをMVVMパターンで簡潔に説明した書籍はないため初学者には学習しづらい環境になっている。 アプリケーション構造 View Model ViewModel MVVMパターンの最低限の構成例 View実装 ViewModelの実装 ViewとViewModelの連携 Modelの実装 MVVMパターンにInotifyPropertyCh

                                                                    【C#-WPF】MVVMパターンの基礎 - 業務のためのC#・C言語・C++学習
                                                                  • Unity WebGLをwasm2cでC言語に変換して動かす

                                                                    (Unity-chan: © Unity Technologies Japan/UCL) さすがにこの規模のアプリケーションをwasm2cして動作させている例は他に無いんじゃないかという気がする。PhysXとか入ってるし。 何ができたの Node.jsでUnity WebGLのアプリを動くようにした (OpenGL ES2とSDLを使用) 更に、WebAssembly部分を wasm2c でネイティブコードにAOTコンパイルできるようにした 将来的にはNode.jsも動作には不要にできるはずだが、今のところそこには至っていない。 これにより、JavaScriptインタプリタさえ何とかすれば、Cで書かれたSDLプログラムと同等の移植性をUnity WebGL出力にもたせることができた。 動機 個人的に製作中のゲームの開発/オーサリング環境をWebAssemblyに集約する上で、それなりの規模

                                                                      Unity WebGLをwasm2cでC言語に変換して動かす
                                                                    • 初心者C言語 第3回 「変数とデータ型について」 - Qiita

                                                                      前回までのあらすじ 環境構築をした。 C言語の基本的な構文を学んだ。 Hello Worldの出力ができた。 初回 前回 今回のテーマ 変数、型とはなにか 型の種類 変数の値を表示する方法 型の変換について 記憶域クラスについて 型修飾子について 変数、型とはなにか 変数とはデータを格納しておく領域のこと。変数は通常メモリ上に確保され、値を代入したり参照したりすることができる。 それぞれの領域を区別するために変数名を付けて宣言をする。 型とは、数字や文字などのデータをメモリ上に確保する領域やバイト長、確保した領域の扱い方などを指定するもの。 変数の宣言 変数の宣言は以下のように行う。

                                                                        初心者C言語 第3回 「変数とデータ型について」 - Qiita
                                                                      • VSCodeでMacOSにC言語デバッグ環境を構築

                                                                        今回は VSCode でC言語プログラムをデバッグする方法について解説します。 これにより、C言語を任意の行で止めることができ、その時の変数の中身を確認することができるようになります。 はっきり言ってめっちゃ便利です!! プログラムの問題の特定や修正が楽になりますので、その分開発や勉強も捗ります。 特に MacOSX ユーザー向けの解説になりますが、他の OS を利用している方にも参考になると思います。うまく VSCode でデバッグができない、設定できたけどその意味がまだ理解できていない、という方には是非読んでみていただければと思います! 前準備 まずは前準備を行っていきましょう! コンパイラとデバッガーのインストール VSCode で C言語をデバッグするためには、C言語のソースコードから実行可能ファイルを生成する「コンパイラ」と、その実行可能ファイルをデバッグするための「デバッガー」

                                                                          VSCodeでMacOSにC言語デバッグ環境を構築
                                                                        • 【C言語】 メモリアライメント を全力でわかりやすく説明する | hirokuma.blog

                                                                          C言語の メモリアライメント とはどういったものか、その意味について理解していただけるように全力で説明します。 理解するにあたって、C言語のポインタの概念とメモリエンディアンの概念についてある程度理解しておいた方がよいです。こちらも全力で説明しておりますので、以下の記事を参考にしていただければと思います。 C言語は ポインタ が難しい、ポインタがあるから挫折した、なぜポインタが必要なのかわからないという人は多くいるのではないでしょうか。今回はC言語の鬼門の一つポインタについて、誰にでも分かっていただけるように、全力で説明したいと思います。 私...

                                                                            【C言語】 メモリアライメント を全力でわかりやすく説明する | hirokuma.blog
                                                                          • C言語の開発環境をDockerで作る with VisualStudioCode - Qiita

                                                                            リポジトリ このリポジトリでは下記手順に加えて自動化バッチファイルも作成してあります。パスを変えて使用してください。 環境 ・Windows11 21H2(ローカルOS) ・Ubuntu 22.10(コンテナ) ・Docker Desktop 20.10.14 ・VisualStudioCode 1.70.0 構想 Dockerfile+docker-compose.ymlでコンテナを構築する。 構築したコンテナにローカルOSのVSCodeからアタッチする。 ファイル構成 c-env ├── .devcontaienr │ └── devcontainer.json ├── src(ここにソースファイルを置く) ├── docker-compose.yml └── Dockerfile

                                                                              C言語の開発環境をDockerで作る with VisualStudioCode - Qiita
                                                                            • C++はどんな言語?C言語との違い、特徴から勉強方法までわかりやすく解説

                                                                              皆さんは、プログラミング言語「C++」を聞いたことがありますか? 聞いたことがある方も、以下のような疑問が浮かびませんか? C言語、C++、C#ってあるよね。どう違うの? C++で何ができるの? C++を勉強するには、先にC言語を勉強する必要あるのでは? この記事では、C言語やC#との違いから学習方法に至るまで、プログラミング言語「C++」について詳しく解説します。この記事を読めば、先ほどの疑問はすべて解決されます。C++に興味がある方は、ぜひ最後までお読みください! C++とは C++は、汎用プログラミング言語の一つです。「シープラスプラス」と読み、「シープラ」や「シープラプラ」と呼ばれたりします。 簡単にいうと、C言語にオブジェクト指向プログラミングをはじめとする様々な改良が加えられたものです。改良が加えられたものの、旧来のC言語と同様に手続き型プログラミング言語としても扱えます。 C

                                                                              • Cython(サイソン)とは?Python+C言語で高速化しよう | びぎんぱいそん

                                                                                Cython is an optimising static compiler for both the Python programming language and the extended Cython programming language (based on Pyrex). It makes writing C extensions for Python as easy as Python itself. ◆Google翻訳 (CythonはPythonプログラミング言語と拡張されたCythonプログラミング言語(Pyrexベース)の両方に最適化された静的コンパイラです。 Python用のC拡張をPython自体と同じくらい簡単に書くことができます。) 引用元:Cythonの公式サイト ※ドキュメントは2019年3月現在日本語のものはないようです。Google翻訳で翻訳すればニ

                                                                                  Cython(サイソン)とは?Python+C言語で高速化しよう | びぎんぱいそん
                                                                                • JavaとC言語の違いは?それぞれの特徴を詳しく解説!

                                                                                  それでは、それぞれの特徴についてみていきましょう。 どんなコンピューターでも動かすことが可能(WriteOnce, RunAnywhere) Javaは、どんなコンピュータでも動かすことが可能で、さまざまな場面で利用されているプログラミング言語です。 コンパイラ言語である プログラミング言語は大きく分けて「インタプリタ型言語」と「コンパイラ型言語」の2種類があり、Javaはコンパイラ型言語となります。 プログラムを実行する際、プログラムを実行する際にコンピュータが処理できる言語に翻訳する必要がありますが、この翻訳処理「コンパイル」と呼びます。 プログラムを実行しながらコンパイルするインタプリタ型言語に対し、コンパイラ型言語は、すでにコンパイルされたプログラミングを実行する仕組みです。 コンパイラ型言語は、事前に翻訳されていることで、「処理速度が早い」のが特徴となります。 オブジェクト指向で

                                                                                    JavaとC言語の違いは?それぞれの特徴を詳しく解説!