マンガでよめる痔のこと・薬のこと

現在C#で簡単な開発しています。

今度就く業務ではC++が必要だから、勉強しておくようにと言われました。
C#を使っていながら、恥ずかしい質問なのですが・・・

 ・よく聞く「VC++」と「C++.Net」は、違うのでしょうか?
  正式名称が「Microsoft Visual C++ .Net」なので、同じような気がするのですが。
  私の使用PCには「Microsoft Visual Studio .Net 2003」が入っています。

 ・C言語とC++との違いは何なのでしょうか?
  両者の関係が分かりません。
  C++を勉強する場合、C言語というのは飛ばしてよいのでしょうか?
  C#を習得するときは、C言語を勉強しませんでした。
  C++で開発とか、C#で開発とか言いますが、「C言語で開発」とは言わないですよね?

C#とC++がどれほど違うのかが不安です。
質問がたくさんになってしまいましたが、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

 ・よく聞く「VC++」と「C++.Net」は、違うのでしょうか?



文脈により違うものをさす可能性もあります。(同じ可能性もありますが、大抵は違うかも…)

「VC++」は、Microsoft社のC++コンパイラ製品名(の略称)であって、言語ではないです。
但し、特にMFCでの開発をさして(C++と区別して)「VC++」と表現する方もいます。

そして、「VC++」は、「非.NET platformのC++(標準C++)」と、
.NET platform用のManaged C++(MSの独自拡張。後に整理されてC++/CLIとして規格化)の*両方に*対応してます。

C++.NETというと、恐らくはManaged C++(MS独自拡張)か、
C++/CLI(これはECMAで独立した言語として標準化)をさすと思われます。
# Managed C++とC++/CLIも微妙に違う言語です。

一報、単にVC++と言う場合、標準C++(+MFC)の可能性が高いです。


> 私の使用PCには「Microsoft Visual Studio .Net 2003」が入っています。

これは、.NET framework上のManaged C++と標準C++の両方に対応した製品です。

 ・C言語とC++との違いは何なのでしょうか?

C言語は、ISO/IEC9899で標準化された言語です。
C++は、C言語をベースに開発された別の言語です(ISO/IEC14882)。
そして、.NET framework用のC++/CLI (ECMA-372)も別の言語です。

CとC++の関係を例えるなら、ラテン語と英語とかみたいなものでしょうか。
(ベースでもあり、参考にはなるが、似て非なるもの)

> C++を勉強する場合、C言語というのは飛ばしてよいのでしょうか?

知っているとお得です。知らないと将来「はまる」可能性もあります。
ですが、最初に勉強するべきかといわれると、議論が分かれるところだと思います。

> C++で開発とか、C#で開発とか言いますが、「C言語で開発」とは言わないですよね?

「C言語で開発」とも言います。
(PCアプリだと「C言語+Win32」ということが少ないだけで、組込業界等に行くと普通にあります。別言語ですし、C言語のシェアも高いので)

> C#とC++がどれほど違うのかが不安です。

根本のOOPとかは共通ですが、C++の方が格段に複雑で難易度が高いです。
C++⇒C#は比較的容易ですが、逆は結構面倒だと思います。

C#がオートマ車の運転なら、C++はF1カーのようなもの。
クラッチの切り方から注意しないとエンストしたり、事故ります。
その代わり極めれば性能が出ます。(反面、極めるのは困難です)
    • good
    • 4
この回答へのお礼

詳しい回答をいただき、ありがとうございます。

C#がある程度できるから、C++も似たようなものだろうと軽く思っていました・・・
一からC言語→C++の順にしっかり勉強します。

私が就く業務が、VC++なのか、C++.netなのか確かめます。

お礼日時:2007/02/20 00:17

・C言語とC++との違い


C++を勉強する場合、Cの勉強を飛ばすのはあまりよくありません。
殆どの場合においてCの特徴であるポインタやその他多くの知識が必要だからです。
C++のコンパイラは、殆どのCコードをコンパイルすることが出来ます。
それは、C++がCの仕様をほとんどそのまま引き継いで、更に独自仕様をつけたしかたらです。だから今は「Cで開発」とは言わずに、Cとほぼ同じことが出来て且つCよりも多くの事が出来る「C++で開発」という事の方が多いです(C++のような巨大な開発が出来ない組み込み系以外では)。C++は規模の大きいプロジェクトの開発が出来るようにオブジェクト指向のできる、マルチパラダイム言語として開発されました。なのでCと比べて、その仕様の幅は非常に膨大なものになっています。さらにCは静的な言語ですが、C++では静的な部分と動的な部分とが入り混じっています。代表的なのが静的な型チェック(コンパイル時に変数の型をチェック)をするキャスト、動的な型チェック(実行時に変数の型をチェック)するキャスト、STLに内包されている、実行時に領域を拡張できる動的配列vectorなどなど。慣れるまで非常にややこしいですが、これらの事を良く踏まえてC++を勉強するべきです。

・C#とC++がどれほど違うのか
C#はどちらかと言うとJavaに近いです。名前こそは似ているものの、C++と異なる部分も多くあります。

リンクにはC,C++入門のあるサイトを張っておきました。

参考URL:http://wisdom.sakura.ne.jp/
    • good
    • 1
この回答へのお礼

回答いただき、ありがとうございます。

同じように「C」と言っても、C言語・C++とC#はかなり違うのですね。
「基礎をしっかりするように」と言われているので、C言語→C++と勉強します。
ご回答の中盤以降が知らない専門用語ばかりでチンプンカンプンなのですが、
それらの用語が出てきたら、注意して勉強するようにします。

お礼日時:2007/02/19 22:37

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QC言語、C+、C++、C#の違い

C言語、C+、C++、C#の違いがよくわかりません。
自分でも調べてみましたが、「オブジェクト指向」という言葉が出てきて、よくわかりません。
わかりやすく教えていただけたら幸いです。
初心者がプログラミング言語を始めるならどの言語がいいですか?
幅広い分野で活用でき、初心者でもわかりやすい言語がいいのです。
私は、C言語、C+、C++、C#のどれかを勉強しようと考えているのですが、この中の言語ならどれがいいでしょうか?もちろんこの中の言語以外に初心者にわかりやすく幅広い分野で活用できる言語があればそちらにしようと思います。ありましたら教えてください。

Aベストアンサー

まずは「オブジェクト指向プログラミング」というモノについて勉強してみては?

プログラミング言語というのは「初心者」にはどれも簡単ではありません。
実際にコンパイル出来る環境があれば習得は早いとは思います。

因みに、CとC++は同じコンパイラで使用出来るので、「Cコンパイラ」「C++コンパイラ」を別々に用意する必要はありません。C/C++コンパイラでC#は使用出来ないのでC#だけは別物。


Perlという言語もあり、科学者が大量の測定データを分析する時に使用したりインターネットで動的ページの生成(CGI)に使用されたりしています。
大量のテキストデータを処理するならPerlは超高速。でも型定義とかが曖昧だし正規表現と鋳物を覚えないといけないのでこれまた大変。オライリーから出ている専門書でも正規表現はそれだけで1冊になってますからね。

「初心者にわかりやすい」と「活用」は相反することがあります。
そんなところに拘っていると本質を見失いますよ?
まずは気になる言語の書籍を買って読みあさりましょう。自分にとってわかりやすい言語かどうかはそれからです。

まずは「オブジェクト指向プログラミング」というモノについて勉強してみては?

プログラミング言語というのは「初心者」にはどれも簡単ではありません。
実際にコンパイル出来る環境があれば習得は早いとは思います。

因みに、CとC++は同じコンパイラで使用出来るので、「Cコンパイラ」「C++コンパイラ」を別々に用意する必要はありません。C/C++コンパイラでC#は使用出来ないのでC#だけは別物。


Perlという言語もあり、科学者が大量の測定データを分析する時に使用したりインターネットで動...続きを読む

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。

QC++でscanfは使えない?

お盆休みを利用してC言語の勉強をしようと思っています。
さわり程度にはわかるのですが、ポインタなどを本気で理解してみようと思っています。

PCにvisual studio2013が入っているので、2013のC++のプロジェクトを使って勉強していこうと思っているのですが、下記のように入力すると、scanfでエラーが出てしまいます。

#include "stdafx.h"
#include <stdio.h>

void main()
{
int n;
scanf("%d",&n);
}

C++ではC言語の文法は全て使えると聞いていたのですが、ある程度例外もあるということなのでしょうか?それともなにか原因があるのでしょうか?

Aベストアンサー

scanfはC言語の「文法」ではありません。
「標準ライブラリ」と呼ばれる、ライブラリに含まれる関数の一つでしかありません。


あと、具体的にどんなエラーメッセージが出たのですか?
メッセージの内容を読んで理解することも、プログラミング技術向上に大事なことです。

http://ja.wikipedia.org/wiki/Scanf#scanf.E3.81.AE.E5.95.8F.E9.A1.8C.E7.82.B9.E3.81.A8.E5.9B.9E.E9.81.BF.E6.96.B9.E6.B3.95
にあるように、scanfは使い方を間違えるととても「危険」な関数です。
そこで
http://msdn.microsoft.com/ja-jp/library/9y6s16x1%28v=vs.100%29.aspx
> セキュリティに関するメモ
とあるように、Microsoftとしてはセキュリティ強化版を使うことを推奨しています。
# 根本対策にはなってないという説もありますが。

そのため、設定次第では、scanfを使っただけで警告、またはエラーになります。

scanfはC言語の「文法」ではありません。
「標準ライブラリ」と呼ばれる、ライブラリに含まれる関数の一つでしかありません。


あと、具体的にどんなエラーメッセージが出たのですか?
メッセージの内容を読んで理解することも、プログラミング技術向上に大事なことです。

http://ja.wikipedia.org/wiki/Scanf#scanf.E3.81.AE.E5.95.8F.E9.A1.8C.E7.82.B9.E3.81.A8.E5.9B.9E.E9.81.BF.E6.96.B9.E6.B3.95
にあるように、scanfは使い方を間違えるととても「危険」な関数です。
そこで
http://msdn.microsoft.com/ja...続きを読む

QC++とVC++の違いについて

この質問をご覧頂きありがとうございます。

みなさんに2つ、お聞きしたいことがあり、質問させていただきます。
1.C++とVC++とでは、どのくらいの違い(どういう違い、特徴)があるのでしょうか?

2.また、これからC++/VC++でプログラミングを始めようとした場合、
C++からVC++へと段階を踏んで勉強した方がよいのでしょうか?

一応、私のプログラミングの履歴としては、
言語としてVisual Basicは多少勉強はしておりました。
また、オブジェクト指向の基礎程度(多相、継承、カプセル化)は理解しています。

抽象的な質問で大変恐縮なのですが、
みなさんの経験論や、ご参考にした本、HP等がありましたら、
ご教授いただければと思います。

Aベストアンサー

こんにちは、honiyonです。
 VC++ は、Microsoftの発売している C++開発環境です。 純正C++に加え、独自に機能(という言い方でいいのかな?)を追加しており、更に開発しやすいソフト(環境)を添付してあります。

 VC++に限らず、大体はそうです。 ProC++も、Borland C++も皆そうです。
 今までお使いになっていた VBも、BASICコンパイラ+開発環境です。 
 こちらの場合、BASICに機能を追加・・・というより仕様そのものを大幅いじってますね(笑)

 VC++をただ単純に C++として使用するなら良いですが、VC++とMFCを使用してウインドウアプリケーションを作りたいという事であれば、死に物狂いな勉強が必要が必要かもしれません。Windowアプリケーションの処理プロセスを理解していないと、とっても難解に感じると思います。
 VC++でなければいや!という理由がなく、Visual Basicからスムーズに移行でき、かつVisual Basicより奥の深い事をしたい、というならば C++ Builder をお勧めします。 こちらで腕を慣らし、徐々にWindowアプリケーションの処理プロセス(WinMainから始まるプログラムの組み方の事です)を学ぶと良いかな、と思います。 その上で VC++&MFCな環境に移行すると、敷居はぐっと低くなります。
 私は一度VC++&MFCに挫折しましたが、こちらの方法で何とか理解する事が出来ました(^^;

 参考になれば幸いです(..
 

こんにちは、honiyonです。
 VC++ は、Microsoftの発売している C++開発環境です。 純正C++に加え、独自に機能(という言い方でいいのかな?)を追加しており、更に開発しやすいソフト(環境)を添付してあります。

 VC++に限らず、大体はそうです。 ProC++も、Borland C++も皆そうです。
 今までお使いになっていた VBも、BASICコンパイラ+開発環境です。 
 こちらの場合、BASICに機能を追加・・・というより仕様そのものを大幅いじってますね(笑)

 VC++をただ単純に C++として使用するなら良いで...続きを読む

QC#にて別クラスの関数を使いたい

C#にて、別クラスの関数を使用する方法を教えてほしいです。

下記のような、構造体を受け取るメソッドを作りました。

*****************************
private struct MyPoint
{
public int x;
public int y;
}

private void proc1(MyPoint pt)
{
MessageBox.Show("座標:" ; pt.x + "," + pt.y + "実行結果");
}

private void button1_Click(object sender ,System.EventArgs e)
{

MyPoint pt;
pt.x = 10;
pt.y = 20;
proc(pt);
}
*****************************

別のフォームのクラスから、proc1を呼び出したいのですが、やり方がわかりません。
どうか、教えてください。

Aベストアンサー

同じ定義をしたとしても別の名前空間に書いた構造体は同一とはみなされません。

呼び出し先クラスでの構造体を private では無く、public で宣言して下さい。

呼び出し元では、

MyClass.MyPoint pt;

のようにして実体を作ります。

QC#「オブジェクト参照が必要です」(初心者)

Visual C# 2008を学習中なんですが、とりあえず何か作ってみようと思って、パラパラマンガに挑戦してみました。
Form1にpictureBox1を作り、waitを入れてイメージを書き換えるという単純なものです。
ところが実行しようと思ったら、「静的でないフィールド、メソッド、またはプロパティ’WindowsFormApplication1.Form1.pictureBox1’でオブジェクト参照が必要です」というエラーが出ます。その際のフォーカスは、main()内の
Form1.pictureBox1.image = Image.FromFile("motion1.png");
”Form1.pictureBox1”に当てられています。

何が原因と考えられるでしょうか。
もし情報不足であればご指摘いただくか、あるいはこの目的においてやらなければいけないこと、を大雑把に教えていただくだけでも幸いです。
よろしくお願いします。

Aベストアンサー

main()内に記述されているとのことですので、たぶん、
Form1.pictureBox1.Image=Image.FromFile("motion1.png");
Application.Run(new Form1());
と書いているのではないでしょうか?

連載 改訂版 C#入門 第3章 クラスとインスタンス
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_003/cs2_003_01.html#cs0302

ここであるように、オブジェクト指向にはクラスとインスタンスという概念があります。
今のコードでは、Form1クラスを操作しようとしているのでそのようなエラーが出ます。

具体的な解決方法としては、PictureBoxに初期画像を設定する処理をForm1のコンストラクタでやるのがいいと思います。
その際、redfox63さんがおっしゃられるように
this.pictureBox1
と記述することが必要です。(thisは自分自身のインスタンスを指します)

後は、Windowsフォームで一定間隔での処理をするための「Timerコンポーネント」について調べてみたらいいと思います。

タイマにより一定時間間隔で処理を行うには?(Windowsタイマ編)
http://www.atmarkit.co.jp/fdotnet/dotnettips/372formstimer/formstimer.html

MSDNライブラリ Timerクラス
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.timer.aspx

参考URL:http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/

main()内に記述されているとのことですので、たぶん、
Form1.pictureBox1.Image=Image.FromFile("motion1.png");
Application.Run(new Form1());
と書いているのではないでしょうか?

連載 改訂版 C#入門 第3章 クラスとインスタンス
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/csabc2_003/cs2_003_01.html#cs0302

ここであるように、オブジェクト指向にはクラスとインスタンスという概念があります。
今のコードでは、Form1クラスを操作しようとしているのでそのようなエラーが出ます。

具...続きを読む

Qゲーム開発がしたい。学ぶべきはC++かC#か。

現在、小さな事務系ソフトウェア開発会社でプログラミングをやっている者です。

思う所あって、ゲーム系の会社への転職を考えています。
応募にあたって作品の提出が必要なことは存じていますが、
どの言語を勉強し、開発すべきかで迷っています。

開発したいゲームとしては、STGかRPGで考えています。
2Dか3Dかは特にこだわりがありません。

過去に行ったプログラミングは、ゲームの関係の薄いものばかりで、
「ゲーム開発」について本格的に学んだことはありません。
学生の頃はロボットを制御するために、C言語のプログラムを書いていました。
PCとマイコンのシリアル通信のために、C#でwindowsアプリケーションも作りました。
C++もほんの一時期だけ使っていました。
卒業してから日が浅いので、これらの知識はまだある程度あります。
会社ではaspxとJavaScriptでWebページの外面、内部の動作をVBで行なっています。

触れたことのあるプログラミング言語を理解度順に並べたら多分こんな感じです。
VB≒C#>C>JavaScript>>>C++

C#とVBは似通った言語なので、VB中心の現在でもなんとなく理解できます。
現在最もメジャーらしいC++が最も経験が少なく、自信がないです。

軽く調べた感じでは、現在のゲーム開発はC++が多いが、
今後はC#やJavaも増えるかもという感じでどちらでゲーム開発を本格的に学ぼうか迷っています。

最もメジャーなC++を改めて学ぶべきか、
それともある程度使えるC#での開発方法を学ぶか、
あるいはその他の言語か、助言をお願いします。

また、開発の参考文献なども教えていただけると幸いです。
よろしくお願いします。

現在、小さな事務系ソフトウェア開発会社でプログラミングをやっている者です。

思う所あって、ゲーム系の会社への転職を考えています。
応募にあたって作品の提出が必要なことは存じていますが、
どの言語を勉強し、開発すべきかで迷っています。

開発したいゲームとしては、STGかRPGで考えています。
2Dか3Dかは特にこだわりがありません。

過去に行ったプログラミングは、ゲームの関係の薄いものばかりで、
「ゲーム開発」について本格的に学んだことはありません。
学生の頃はロボットを制御するために、C...続きを読む

Aベストアンサー

今後の動向不明なソーシャルならPHPとかJavaScriptとかWEB系です。
家庭用ゲームのメインの開発は今後もしばらくはC++が続くと思いますが、C#もツール開発用としては導入されていますし一部のゲームはC#で開発されています。
家庭用ゲーム機なら両方共出来ないとダメじゃないかと思いますね(片一方はある程度出来る程度で良いと思いますが)。

>開発したいゲームとしては、STGかRPGで考えています。
>2Dか3Dかは特にこだわりがありません。

こちらが拘るんじゃなくて向こうの会社が拘る問題ですが、今時は家庭用ゲーム機は3Dじゃないと厳しいと思います。
あと応募作品でSTGだとすごく多いので、それだけで評価が下がります。
逆にRPGは、規模が大きくなるためプログラミングスキルが直に反映されるので応募課題としては悪くないですが市販レベルの操作性に合わせて作ること事態が大変です。
WEB系をやっていたのならオンラインゲームを作るスキルも期待されるでしょう。

とりあえず、どのぐらいのものが作れるかリアルタイム性のあるものを作るということがどういうことなのか理解するためにDXライブラリをご紹介しておきます。
これでラクラクとゲームを作れるようなら本格的にC++とDirectXやC#とXNAで応募作品を作れば良いのでは無いでしょうか?

「新・C言語 ~ゲームプログラミングの館~ [DXライブラリ]」
http://dixq.net/g/

同サイトのこっちの掲示板には業界人の回答者も出没します。
「C言語何でも質問掲示板 • C言語交流フォーラム ~ mixC++ ~」
http://dixq.net/forum/viewforum.php?f=3

今後の動向不明なソーシャルならPHPとかJavaScriptとかWEB系です。
家庭用ゲームのメインの開発は今後もしばらくはC++が続くと思いますが、C#もツール開発用としては導入されていますし一部のゲームはC#で開発されています。
家庭用ゲーム機なら両方共出来ないとダメじゃないかと思いますね(片一方はある程度出来る程度で良いと思いますが)。

>開発したいゲームとしては、STGかRPGで考えています。
>2Dか3Dかは特にこだわりがありません。

こちらが拘るんじゃなくて向こうの会社が拘る問題ですが、今...続きを読む

Q組み込み系と制御系の違いは?

SE/PGの求人で、組み込み系、制御系を見ますが、
組み込みとは、家電製品などに組み込み、使用者が家電製品を使うときに操作したとおりに動くようにプログラムをつくるエンジニアのことでしょうか?

制御系はどういたことなんでしょうか?
制御とついているので制御するのだと思うのですが、使われる箇所としてはどういった所に使われるのでしょうか?

さっきの組み込み系でも、家電製品に”組み込ん”でも、”制御”もされているのではないでしょうか?
例えば、電子ジャーに”組み込ん”でも、温度調節なども”制御”しているのではないでしょうか?

組み込みと制御は同じような事なのでしょうか?

Aベストアンサー

○○系という言葉自体が広い概念ですので、たしかに重複する意味もありますが。
元々、系列化するものに対して○○系として区別していました。
対象が同じものであっても言い方で混乱しますね。
結論を簡単に言えば、表現の方法の違いなのですが、
1)主機能面から言えば、○○制御系
  (背景には、複雑・多様化、ネットワーク化、ユビキタス、インフラなどの課題が多い)
2)機器内部にコンピュータシステムを組み込むための技術力、対応力を強調させる場合は、組み込み系。(背景には、小型化、省電力、高速化などの課題が多い)

で、SE/PG求人ということなので、「ソフトウェア開発」に絞られます。
一般には、制御系システムの方が範囲が広く、以下のように使われるケースがあります。
「...制御系のシステム(計測・制御用ソフト、組み込み用ソフト、FA用ソフト)の開発経験者を求む....」

一般的には、
組み込み系システムとは、
 昨今の家電・電子機器・自動車(etc.)には、機器を制御するためのマイコン用ソフト・ハードが組み込まれて内蔵されている。その機器内部のコンピュータシステムを指す。組み込み系ソフトとは、機器内部のコンピュータシステムを稼動させるソフトウェアで、組み込み系システム用に開発されたソフトウェアのこと。組み込み系に対しては、PC系・UNIX系と言ったりする。機器の外部にコンピュータを接続する形式が「非組み込み系」と考えてよい。システムの構築の際、形態・方法を指す言葉。したがって、電子ジャーは、組み込み系システムであるとは言えます。

一方、制御系システムとは、広義には、機器を「制御する」システムを対象とする。狭義には、特に制御が主機能になっているものを指す。ここでの「制御系」の概念は、「組み込み系」であっても「非組み込み系」であっても構わない。すなわち、システム構築の目的や用途(機能)を強く意識した言葉。したがって、電子ジャー(炊飯)などの特定の狭い用途で主機能ではない場合には、使いません。自動車のカーナビ(位置特定)なども。敢えて「制御」を使うならば、電子ジャーの温度制御ソフトのように使われる。


制御系の実例的には
主な制御系         具体的システム例       ソフトの対象例
監視・制御系        中央監視盤、照明制御システム 制御端末用ソフト
FA系           製造ライン監視制御システム  PLC用ソフト
プロセス制御系       製鉄プラントシステム
通信・制御系        移動体通信制御システム    携帯電話、基地局
計測・制御系        排ガス濃度監視装置      濃度計測、ロギング
組み込み・制御系      DVDプレーヤシステム     モーター回転数制御
「DVDプレーヤ」では、単に「制御系」とは普通言わない。
「組み込み・制御系」もしくは単に「組み込み系」。

納得がいかないなら、「制御系」などで検索し、
ターゲットの実例を調べてください。

参考にされば、幸いです。

○○系という言葉自体が広い概念ですので、たしかに重複する意味もありますが。
元々、系列化するものに対して○○系として区別していました。
対象が同じものであっても言い方で混乱しますね。
結論を簡単に言えば、表現の方法の違いなのですが、
1)主機能面から言えば、○○制御系
  (背景には、複雑・多様化、ネットワーク化、ユビキタス、インフラなどの課題が多い)
2)機器内部にコンピュータシステムを組み込むための技術力、対応力を強調させる場合は、組み込み系。(背景には、小型化、省電力、高...続きを読む

Qsleep()関数について

"数秒おきに警報をn回鳴らすプログラム"をC言語で作成しようと
考えています。

プログラム実行環境はWindowsですが、
sleep()関数は使用できないのでしょうか??

仮に使用できない場合、この関数に代わる関数や代替方法が
あれば教えて頂けませんでしょうか? 宜しくお願いします。

Aベストアンサー

正確な動作でも構わなければ
windows.hをインクルードして
Sleep()関数を使いましょう.
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200207/02070061.txt

しかし,正確に数秒おきに動作を行いたい場合はマルチメディアタイマ等を使いましょう.
マルチメディアタイマはミリ秒間隔でコールバック関数を呼び出すことができます.
timeSetEventを用いてコールバック関数の登録を行うことができます.
timeKillEventでコールバック関数の解除を行うことができます.

多分他にも方法があると思うのですが…私はこれぐらいしか知りません^^;

参考URL:http://www.katto.comm.waseda.ac.jp/~katto/Class/GazoTokuron/code/time.html

QVBとVBAの違い

お世話になります。

現在、ExcelVBAで機械設計の計算をさせようと思い勉強しているのですが、VBとVBAの違い(VBと比較したとき、VBAできること、できない事)の境目?がいまいち判りません。
まだまだ勉強中で困惑しております。このままExcelVBAを勉強していく物か、VBについて勉強していくか迷っています。このままExcelVBAを勉強してExcelVBAを理解すれば判断できるかと思うのですが、畑違いの勉強になってしまわないかと心配です。

やりたいことは、各種計算の簡略化です。
現在は、関数電卓で行っていますが、これをパラメータを入力すると計算結果が出る。このような物を作りたいと思っています。

長くなってしまったのでまとめると、
1、VBAとVBの違い
2、ExcelVBAで設計計算が可能か
あと、
プログラムにより計算させるときに、最適なプログラム(JavaとかPHPとかHTML等など・・・)お勧めのプログラムがありましたらアドバイス頂けたらと思います。

Aベストアンサー

1. VBAとVBの違い

VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。
また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。
もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではできませんので、VBが必要です。

2. ExcelVBAで設計計算が可能か

可能です。また、多分VBAを使わなくてもExcelの関数でもある程度のことが可能だと思われます。お持ちの関数電卓の桁数にもよりますが、相当な高精度が必要でない限り大丈夫です。

文面からすると、プログラミング未経験のようですが、やりたいことが明確なので、Excelをお持ちであればVBAで始めてみてはいかがでしょうか。他の言語(Java, C, PHP...)でも可能でしょうが、中には環境を用意しなくてはならなかったり、本質である計算以外に気にしなくてはならないことが多く、初心者にはとっつきづらいのではないかと考えます。

VBAからVBへの移行、VBからVBAへの移行はどちらも可能ですし、VBAからVBへの移行は多少時間がかかるかもしれませんが、VBよりVBAから始める方が楽なので、どちらに優越があるとは一概に言えないと思います。一人でちょっと使う程度や勉強用なら、ExcelVBAをお勧めします。
しばらくすると、ExcelVBAの限界を感じるようになると思うので、そこからVBに移行するというのでも悪くないと思います。

1. VBAとVBの違い

VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。
また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。
もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではで...続きを読む


人気Q&Aランキング