UnityでCubeを移動するサンプルプログラム
確認環境:
Unity 5.5
Visual Studio 2015
スクリプト言語 C#
UnityでCubeをクリックし、メニューを表示し、移動範囲を表示して、移動先をクリックすると、そこにCubeを移動するような簡単なサンプルプログラムを作成しました。
方法をメモしておきます。
確認環境:
Unity 5.5
Visual Studio 2015
スクリプト言語 C#
UnityでCubeをクリックし、メニューを表示し、移動範囲を表示して、移動先をクリックすると、そこにCubeを移動するような簡単なサンプルプログラムを作成しました。
方法をメモしておきます。
eclipseのCDT(C/C++ Development Toolkit)でソース書いていた時につまづいてので、メモしておきます。
確認環境:Eclipse CDT 4.5.2
Eclipse CDTで、何気なく scanf を使って以下のコードを書いたのですが、実行しても、コンソールに何も表示されません。
以下のように、printf と scanf の間に、fflush(stdout); を追加すれば、
コンソールに、表示されるようになりました。
Visual Studio Community 2015で、「if」や、「while」と入力すると、自動的にコントロールブロックの中括弧 { } をつけてくれるのですが、
この中括弧 { }位置をカスタマイズする方法をメモしておきます。
確認環境:Visual Studio Community 2015
メニューから「ツール」->「オプション」を選択
左のウィンドウの「テキストエディター」->「C/C++」->「書式設定」->「改行」を選択
右のウィンドウの「始めかっこの位置」->「コントロールブロックのはじめかっこの位置」->「同じ行に残し、その前にスペースを1つ追加」を選択
OKボタンを押して、オプションウィンドウを閉じる。
そうすると、このように、コントロールブロックの始まりの中括弧 { が同一行に表示されます。
デフォルトでは、このように、コントロールブロックの始まりの中括弧 { が、改行された状態になっています。
どっちがメジャー派なんですかね。
Visual Studio 2015では、標準ライブラリ関数 gets が使えなくなりました。
確認環境:Visual Studio Community 2015
Visual Studio Community 2015で、標準ライブラリ関数 gets をソースコードに書いていたら、
「識別子 "gets" が定義されていません」
と、エラー一覧ウィンドウに表示されました。
Microsoft Developer Network で、Visual Studio 2015から、「 gets」はライブラリから削除されたと書いてありました。
「 gets」の変わりに「 gets_s」を使いましょう。
「 gets_s」は、「gets」のセキュリティ強化版です。
類似の現象で、「scanf」、「strcat」、「strcpy」もエラーになります。
これらはコンパイル時点でエラーになります。
「scanf」の変わりに「scanf_s」を使いましょう。
「strcat」の変わりに「strcat_s」を使いましょう。
「strcpy」の変わりに「strcpy_s」を使いましょう。
C言語の #ifdef と #ifndef の使い方についてまとめました。
確認環境:Eclipse 4.5.2
ソースコード見たほうが早いですね。
解説:
#ifdef 【宣言名】
:
#endif
がひとつのかたまりです。
【宣言名】が #define で定義されていれば、このかたまりは実行されます。
これとは逆に、
#ifndef 【宣言名】
:
#endif
【宣言名】が #define で定義されていなければ、このかたまりは実行されます。
このように、ある時は実行させたいけれど、ある時は実行させたくないという箇所を、
#ifdef ~ #endif、#ifndef ~ #endif でくくっておけば、
#define の定義を切り替えるだけで、実行したり、実行しなかったりを変えることができ、
コメントアウトやコメントインよりも柔軟な対応ができるので、特にデバッグの時に便利です。
なお、#ifdef、#ifndef、#endif、#include などの 「#」がつくものを ディレクティブ と言います。