News

Unity (1) Install

Unityとは、一言で書くとゲームを作るための便利なツールです。その昔、ゲーム開発はとても高い技術が求められたため誰でも簡単に作ることはできませんでした。このUnityというすばらしいゲームエンジンが無料で使えるというとてもいい時代になりました。 Unity ID https://id.unity.com/ こちらから無料申請する。 インストール 研究室に複数インストールするつもりので、unity “オフライン インストール” を検索する。 https://unity3d.com/jp/get-unity/download/ Unity ダウンロード このページからUnity Personal/Pro版両方のUnity の旧バージョンがダウンロードできる。   参考 https://www.sejuku.net/blog/47646

[Editor]VSCode for Windows, MacOS, Linux

Visual Studio Code(以下”VSCode”とする)とは、Windows OSや.NET Framerorkの開発元であるMicrosoft社が開発したオープンソースのテキストエディタだ。マルチプラットフォームなのでWindows、MacOS、Linuxのいずれの環境にもインストールできる。 VSCodeの特徴 (1)軽量な動作 プログラムの開発はIDEで行われるケースは多いが、機能が豊富なIDEは起動や動作が遅くなってしまうケースもよくあることだ。もっとわかりやすく言うと、「もっさりしていてめんどくさい」だ。 (2)デバッグ機能 一般的なテキストエディタではコードを入力して保存するだけだが、VSCodeではプログラムのデバッグを行うことができる。デバッグする言語によって拡張機能のインストールが別途必要ではあるが、動作の重くなりがちなIDEを使わずにデバッグできる点はエンジニアにとって嬉しい機能のひとつだと言える。 (3)複数言語のサポート C/C++やC#、VisualBasicなどMicrosoft社の開発言語はもちろん、JavaやPython、SQL、JSONなど多くの言語をサポートしている。サポートされている言語は「シンタックスハイライト」と呼ばれる機能でプログラム言語の構文がハイライト表示されるため、見やすく、また書きやすくプログラミングできる。 (4)コードの自動補完 テキストエディタでありながらIDEなどに備わっている自動補完(Intellisense)機能がある点は非常にポイントが高いと言える。標準では対応している言語は限られてはいるが、拡張機能で準備されている言語もあるのでチェックしておくようにしよう。 (5)Git連携機能 プログラムのバージョン管理システムとして有名なGitとの連携機能が実装されており、Gitリポジトリにプッシュ、プルを行うことが可能だ。あらかじめGitのインストールが必要ではあるが、Gitでバージョン管理を行っているプロジェクトであれば作業効率のアップが期待できる。 ダウンロードとインストール ウェブページを開く https://code.visualstudio.com/  「Visual Studio Code」の「 ダウンロード」をクリック.※ Linux 版, Mac 版が欲しいときは「さらに詳しく」をクリック ダウンロードした .exeファイルを実行する. セットアップ VS Codeのメニューから「フォルダを開く」を選択し、ソースコードがあるフォルダ(例えば:Documents¥C)を指定する。 左のファイルペンから適当のソースコードを開き 勧めExtensionsが表示され、好みでインストールする。 Extensionsから日本語のLanguage Packをインストールすると、メニューの日本語化ができる includeファイルが見つからない場合、波線が表示され、クリックすると、電球マークが現れ、それをクリックすると、include設定へ誘導され、正しいパスを設定する。 ターミナルで実行 VS Codeのターミナル(開いてなければメニューから「新規ターミナル」を開き)で実行する。 Read More …

C言語認定試験(2級出題範囲)

参考(2級出題範囲) 出題内容 定数 浮動小数点定数 指数形式を許す 浮動小数点接尾語はf、l、F、Lのいずれか 整数定数 整数接尾語として長語接尾語(l、L)を含む 文字定数 拡張表記は8進拡張表記、16進拡張表記を含む 文字列リテラル 拡張表記は8進拡張表記、16進拡張表記を含む 列挙定数 演算子 ビット演算子、条件演算子、代入演算子、キャスト演算子、ポインタ/アドレス演算子、構造体演算子、sizeof演算子 宣言指定子 void、short、long、float、double、構造体共用体指定子(struct、union)、列挙型指定子(enum)、型修飾子(const)、typedef 変数 上記型指定子の単純変数、配列 外部定義 プリプロセッサ機能 ファイルの包含 ライブラリ関数 数学関数<math.h> double cos(double x); double sin(double x); double tan(double x); double exp(double x); double log(double x); double Read More …

C言語認定試験(3級出題範囲)

C言語プログラミング能力認定試験 (C-Language Programming Skills Qualification Test) http://www.sikaku.gr.jp/js/cp/ C言語認定試験とは C言語を駆使した応用プログラムの作成能力を認定 C言語は、記述の自由度が高く、使用可能なプラットホームが多いなど、使用できる場面が多いことから、現在最も広く普及しているプログラミング言語です。このC言語のプログラミング能力の測定を目的に、1992年より開始されたのがサーティファイ 情報処理能力認定委員会が主催する「C言語プログラミング能力認定試験」です。 保有スキルのレベルに合わせた3段階の認定基準を設けることにより、これから新たにプログラミングの学習を始める方から、現在プログラマやシステム・エンジニアとして既に活躍されている高度IT技術者の方まで、幅広い皆様から受験いただいています。 初学者から、ビジネスシーンで活躍できるプログラマまで、幅広いスキルを測定 「C言語プログラミング能力認定試験」は、これからプログラミングを学び始める方を対象とした「3級」から、プログラマやシステム・エンジニアとして活躍されている方の保有スキルを客観的にアピールできる「1級」まで、幅広いスキルを測定しています。 特に「1級」では、実際にPCを使用して、プログラムの仕様変更やこれに伴うプログラミング作成(コーディング・コンパイル・デバッグ)を行う、極めて実践的な資格・検定試験として、IT業界でも高く評価されています。 基本情報技術者試験の午後の試験対策としても有効 「C言語プログラミング能力認定試験」の「2級」及び「3級」は、経済産業省認定「基本情報技術者試験」の「午後問題」の出題形式も意識して作成しています。そのため、「基本情報技術者試験」の学習と連動した活用も多く見られます。保有スキルのレベルに応じた級位取得を目標としていただくことで、C言語のプログラミング能力を高めるだけではなく、「基本情報技術者試験」の合格にもつなげていくことができます。 C言語認定試験について 主催・認定 サーティファイ情報処理能力認定委員会 試験名 C言語プログラミング能力認定試験 (C-Language Programming Skills Qualification Test) 試験目的 C言語を駆使して応用プログラム(言語処理系、ユーティリティなど)を作成する能力を認定します。 認定基準 一級 C言語を駆使し、応用プログラム(言語処理系、ユーティリティなど)が作成できる能力を有する。また使用しているOSについて理解をしている。 二級 小規模のプログラム(500行程度)が適切に(理路整然、簡潔、正しく、速く)書ける。また各種基本アルゴリズムを理解している。 三級 C言語の概念を理解し、簡単なプログラムが書ける。   参考(3級出題範囲) 出題内容 定数 Read More …

a C HTTP Client

C#やJavaでは簡単にhttp Clientプログラムができる。C言語ではソケットを作成するところから必要です。またWindowsとLinux両方対応するように書いたのでプログラムが長くなる。 (bcc32で動作確認済み) プログラムは、最初にsocketを生成してWebサーバに接続し、テキスト形式でHTTPリクエストメッセージを作成してWebサーバに送信する。 HTTPリクエストメッセージは、複数行から成り立つ一連のデータ列。ここでいう1行とは、終端にCR(キャリッジリターン、16進の0x0d)とLF(ラインフィード、16進の0x0a)を持つデータの単位を示す。ほぼ、通常のテキスト・データの1行と等しくなる。メッセージ・ヘッダとメッセージボディ部に分かれ、両者は空行(単独のCR+LF)で分割される。 httpを理解するには、telnetで手入力でHTTPをしゃべってみるがいい方法。 https://www.softel.co.jp/blogs/tech/archives/263 まずプログラムをリストする: #include <stdio.h> /* printf, sprintf */ #include <stdlib.h> /* exit, atoi, malloc, free */ // #include <unistd.h> /* read, write, close */ #include <string.h> /* memcpy, memset */ #ifdef __linux__ #include <sys/socket.h> Read More …

Dump file

DUMP で出力された内容を ダンプリスト と呼ぶ ダンプリスト左端はアドレス(ファイル先頭からの位置) ダンプリスト中央にある16進数(バイト)が列挙されてる部分がマシン語プログラム(バイトコード)を表している。 ダンプリスト右端は、バイトコードをキャラクタコードで表現したときの内容。ただしバイトで表現可能な数値はキャラクタコードの範疇を超えることがあるため、そのような場合はピリオドで表現される。 dump.c #include <stdio.h> int main(int argc, char* argv[]) { FILE *fp; unsigned char buf[16]; /* 読み込みバッファ */ unsigned long addr = 0; /* 先頭からのアドレス */ int readnum, i; if(argc <= 1) { printf(“usage:dump filename\n”); return 1; Read More …

[GCC]C Compiler on Linux

C言語の最小限の開発環境を作る手順 エディタをインストール コンパイラをインストール コンパイラにPATHを通す設定をする エディタをインストール Atomという新世代のエディター(Windows、Mac OS X、Linux対応)をインストールしてください。 公式サイト コンパイラをインストール LinuxでのC言語開発環境について解説しています。「GNU Compiler Collection」が一般的です。 それでは gcc をインストールしていきます。 Debian Debianでは、apt-getコマンドを使ってgccをインストールします。 # apt-get install gcc Ubuntu UbuntuはDebianベースのディストリビューションなので、Debianと同じようにa apt-getコマンドを使います。ただ、Ubuntuにはrootユーザーという概念がないので、sudoコマンドでインストールしていきます。 $ sudo apt-get install gcc CentOS CentOSでは、yumコマンドを使ってgccをインストールします。 # yum install gcc 以上で、コンパイラ(gcc)のインストールは完了です。 コンパイラにPATHを通す設定をする 不要です。 ソースコードコンパイル C言語プログラムのファイル名を「hello.c」というファイルを作成します。ファイルの中身は「Hello, Read More …

[GCC]C Compiler on Windows

WindowsでgccをインストールするにはMinGWを利用した、C言語の最小限の開発環境を作る手順 エディタをインストール コンパイラをインストール コンパイラにPATHを通す設定をする エディタをインストール Atom、VSCodeなど新世代のエディター(Windows、Mac OS X、Linux対応)をインストールしてください。 コンパイラをインストール C言語コンパイラって幾つかありますが、visual studioはファイルサイズがデカいので却下です。gccのインストールをオススメします。gccはMacでもLinuxでもWindowsでも使えます。 コンパイラの違い一覧 システム mingw-jp Visual Studio .net Borland C++ Builder コンパイラ名 gcc cl bcc32 オブジェクトファイルの拡張子 .o .obj .obj 実行ファイル名指定 -o ファイル名 -o ファイル名 -eファイル名 make コマンド mingw32-make nmake make 依存ファイルマクロ Read More …

C exercises2 (3) structures

演習 1)任意二つのunsigned int型数値の論理AND, OR, XORを求めなさい(P324) /* a9-4-1.c */ #include <stdio.h> #include <limits.h> int main(void) { unsigned a, b; printf(“0 〜 %u の整数を2つ入力してください。¥n”, UINT_MAX); printf(“> “); scanf(“%u”, &a); printf(“> “); scanf(“%u”, &b); printf(“%u(%#x) AND %u(%#x) = %#x¥n”,__,__,__,__,__); printf(“%u(%#x) OR %u(%#x) = Read More …