1 :
名無しさん@お腹いっぱい。 :
04/01/05 22:47 ID:JMQYg/R8 C、C++、VC++など。 インラインアセンブラも含む。
余裕で翌日2げっとずさぁ っていうか、C++とVC++って違う言語なのかよ(w
3 :
名無しさん@お腹いっぱい。 :04/01/06 00:43 ID:fIPrM4kj
プログラム板とどう差別化を図るんですか
差別化は気にしてません。 ハードとの絡みで自然にできてゆくでしょう。
>>2 使えるライブラリ(関数)の数が
VC++>C++>C
あと、VC++とC++はAPIを使えるけど、Cは純粋なCの関数のみで構成。
VC++はIDE環境(グラフィカル)が使えてMFCも使える。
こんな説明でいいのかな。あってますか?
C++とかはこの板ではあまり話題にならないんじゃない? Cはマンセー
C と C++ はプログラミング言語 VC++ はマイクロソフト社が出している プログラム開発環境(のパッケージソフト)。 (C++(C含む)のコンパイラ、Winライブラリ、 リンカ、IDE環境など含む) 同レベルで比較しているのに無理がある。
DDK絡みのネタが欲しいな
電気いじるのにC++が必要になる場面って有るか?
eCosのアプリケーションを書く時。 そんな事があるのか謎だが。
13 :
名無しさん@お腹いっぱい。 :04/01/11 00:31 ID:d+luu4mP
>>10 マイコン構うなら知ってて損は無いと思うぞ
C++に慣れすぎるとマイコンのプログラムをCで書かないといけないときに身悶えしません? といっても、C++は避けては通れないように思いますが。
15 :
名無しさん@お腹いっぱい。 :04/01/11 14:01 ID:/N+I/qz9
>>14 僕にとってC++は「コメントが//で書けて、変数宣言がどこでも出来るC」でしかありません。
もちろんファイル入出力は fopen , fgets fputs しか使いませんし。
>>15 シリアルでやる分には、それが簡潔かも。
ETHERとか、USBになってくると、最初環境設定のレジスタを調べるのが大変かも。
直接Pin叩くわけだし・・・。
>>14 コンパイラが何でも通してくれちゃうからドキドキします。
ケアレスミス大魔王なんで。
Cはプログラマの自己責任において自由にできるのがいいところだからね。 ケアレスミスチェックのためにlintを使うのが古きよき時代のCなんだが。
といっても好き勝手に書くと、最近はコンパイラの警告がうるさい。 わかってるから黙ってろと言いたい。 かといって止めると,うっかりミスが隠れるのでそれも困るし。
HEWのCコンパイラは、ウォーニングすらまともに出してくれないので、 マジで俺はlintかけてる。 ウォーニングを出さないだけならまだしも、キャストを(ry
>>23 社内統一環境とかわけのわからんの理由もあって一個前のコンパイラですが、
なかなかに泣かされてます。
怖くてオプティマイズなんか指定したことがないです。
欠点は多いですが、コード効率はgccに比べると、だいぶ良いので我慢してます。
# 趣味ではKPITのgccが、もう少し速いコードを吐いてくれるようになったら乗り換えたいのですが。
# HEW2.2も無料で落とせますし。
>>13 ファームからドライバ、アプリまで作ってるのでアセンブラからC++まで使えてまつ。
私の場合、電気を直接いじる程度の機械の時には、動的メモリ取得ができるほどの容量が無いことが多いでつよ。
アプリの開発ではSTLの勉強にはまってる最中でつ。
>>17 うちの環境のCはプロトタイプが無くてもwaring出さないので最近もはまりまつた。
引数無しで飛んでいっても文句言わなかったりしてくれて…
>>24 うちはオプティマイズするとデバッグコードを吐き出すときにエラーを起こす環境なので
エミュレータを使うときにはオプティマイズできまてん…何のためのオプションなんでせう
#いいかげんまともなコンパイラ作ってくれ>某社
26 :
かるかる :04/01/18 00:51 ID:hzWNLuKi
VCでプログラムをしているんですけども PICとシリアルの通信プログラムがわかりません。 ウインドウでハイパーターミナルみたいなことをやりたいんだけど プログラムがわかりません 福福電子工房のプログラムをウインドウに組み込めないか?とおもうんですが できません PICとシリアルの通信プログラムを書いているホムペかプログラム例を教えてください。
27 :
名無しさん@お腹いっぱい。 :04/01/18 14:03 ID:7YWGupT3
28 :
かるかる :04/01/18 14:35 ID:0ds61fDc
>>27 ありがとうございます
参考にさせていただきます。
29 :
名無しさん@お腹いっぱい。 :04/01/22 05:43 ID:48TiayCH
>>24 ターゲットCPU何かしらないけど、
386系ならmingwのコードはVCより速いって聞いたけどね。
>>29 HEWと書いてあるんだからH8かSHと思われ>ターゲットCPU
31 :
名無しさん@お腹いっぱい。 :04/01/23 00:30 ID:Kiq0ELwk
Cでプログラムを組むには、intと記述してもビット長をあらかじめ設定しないと バグの原因になる。 short int,unsigned short int,long int,unsigned long intを使い分けないといけない、 って常識?
常識
33 :
名無しさん@お腹いっぱい。 :04/01/23 13:38 ID:SWWnGgbP
>>32 つーか、組み込み系Cとか非MS-C系で組む場合には、最初に調べるのが型の長さ(何ビットか?)だよね。
short intがbyteじゃなくてword扱いとかってのは一杯ある。
それを調べてから組むのが常識だろ?
>>31 だからAVRGCCなんかはbit数と符号有無で表記する型名を使っているのかな。
unsigned char = uint8_t
signed long = int32_t
なんて置き換えて使わせている。
>>34 移植性を考えた場合は必ずそういうのが必要でつ。
37 :
774ワット発電中さん :04/05/24 00:27 ID:Ck3FXT2Y
あげ
ho
39 :
職人 :05/01/17 05:21:01 ID:feSdjnZh
40 :
774ワット発電中さん :2005/06/05(日) 11:02:51 ID:hF1Oi6Ua
C++について勉強しようと思います。簡単なCのプログラムは書けます。 先ず1冊目に読むには、どれがよいでしょうか。 次に2冊目を読むには、何がよいでしょうか。
複雑なCのプログラムが書けるようになってから出直してきた方が良いです
42 :
774ワット発電中さん :2005/06/05(日) 15:13:56 ID:3E1hZYyu
出直してきます。ではでは
43 :
774ワット発電中さん :2005/06/07(火) 00:35:15 ID:SXJVCONs
恐れス スマソ ちょっと癖があるが、お勧め 「極めるVisualC++」吉田弘一郎 技術評論社 最近新しいVCの本はあまり出版されないようだね。もはや行き渡っちゃた?
Builderよかマシ。
45 :
774ワット発電中さん :2005/07/20(水) 15:14:55 ID:+axUgwEq
C++の多重継承の質問をしたいのですが、 菱形の継承で一番基本となるクラスのコンストラクタに 引数を渡したい場合どうすればいいのですか? 今、下の様にしてるんですがコンパイル時にエラーが出ます。 問題点と解決法をどなたかご教授ください。 class Base0 { public: Base0(int b0) {} }; class Base1 : virtual public Base0 { public: Base1(int b0) : Base0(b0) {} }; class Base2 : virtual public Base0 { public: Base2(int b0) : Base0(b0) {} }; class Derived : public Base1, public Base2 { public: Derived(int b0) : Base1(b0), Base2(b0) {} };
こうとか。 #include <stdio.h> class Base0 { public: Base0() {printf("void\n");} Base0(int b0) {printf("int b0\n");} }; class Base1 : virtual public Base0 { public: Base1(int b0) {} }; class Base2 : virtual public Base0 { public: Base2(int b0) {} }; class Derived : public Base1, public Base2 { public: Derived(int b0) : Base0(b0), Base1(b0), Base2(b0) {} }; int main(void) { Derived obj(0); return 0; }
こういう例のほうが分かりやすいかな
#include <stdio.h>
class Base0 {
public:
Base0(int b0) {printf("Base0:%d\n",b0);}
};
class Base1 : virtual public Base0 {
public:
Base1(int b0) : Base0(b0+10) {printf("Base1:%d\n",b0);}
};
class Base2 : virtual public Base0 {
public:
Base2(int b0) : Base0(b0+20) {printf("Base2:%d\n",b0);}
};
class Derived : public Base1, public Base2 {
public:
Derived(int b0) : Base0(b0+1), Base1(b0+2), Base2(b0+3) {printf("Derived:%d\n",b0);}
};
int main(void) {
Derived obj(0);
return 0;
}
>>45 が何故だめなのかは、virtualとったもの(DerivedのBase0の初期化も取る)と比べれば
分かると思う。
48 :
45 :2005/07/21(木) 15:20:40 ID:7kzEYILR
どうも教えて頂いてありがとうございます。 見たところ、 Derived のコンストラクタでBase0のコンストラクタを 明示的に呼び出しているところがポイントのようですね。 コンストラクタは基本クラス側から実行されるってのは知ってましたが、 継承が2代にわたる場合で、親が祖父を仮想基本クラスとする場合、 孫クラスのコンストラクタで 親のコンストラクタ(祖父のコンストラクタを引数ありで呼び出している) を呼び出しても、孫クラスで祖父のコンストラクタを直接呼ばない限り、 祖父のコンストラクタは引数なしで呼ばれてしまうと言うことでいいのでしょうか? 仮想基本クラスを使わない場合は 親のコンストラクタを呼べば、 祖父のコンストラクタに引数が渡されていたので、 問題点&解決策がよくわかりませんでした。
もしかして、仮想基本クラスを用いたとき、 そのコンストラクタから派生元のコンストラクタを呼ぶ記述をすることは 全く無意味なのでしょうか? 結局、仮想基本クラスとしていると言うことは、 そのさらに派生したクラスが必要であり、 その派生クラスで、 一番基本となるクラスのコンストラクタを呼び出す必要がある。 ということなのでしょうか。 ネットでいろいろと見たりはしたんですが、 仮想基本クラスについては どこもあまり詳しくは書いてなかったので大変助かりました。
まあ、言い換えればvirtualはあくまで仮想であるから、 そのクラスが親クラスを直接コンストラクトすることはない。 という風にとらえるといいのでしょうか?
>>49 下記のような継承の場合、Derived のスーパークラスに2つのBase0を持つ。
class Base0
class Base1 : public Base0
class Base2 : public Base0
class Derived : public Base1, public Base2
一方下記のような継承の場合、Derived のスーパークラスにBase0は1つしか存在しない。
class Base0
class Base1 : virtual public Base0
class Base2 : virtual public Base0
class Derived : public Base1, public Base2
まずこれは良いよね。
下の例の場合、Base0は1つしか存在しないのにそのスーパークラスから、おのおの違うコ
ンストラクタが呼ばれたりしたら困るよね。
だからその継承先であるDerivedからBase0のコンストラクタが呼ばれる仕組みなのよ。
> もしかして、仮想基本クラスを用いたとき、
> そのコンストラクタから派生元のコンストラクタを呼ぶ記述をすることは
> 全く無意味なのでしょうか?
半分違う。
Base1とBase2が仮想クラスの場合。
Base1やBase2のオブジェクトを作ったときには使用される。
Base1をさらに継承する場合は、その継承先(Derived)では無視される。
>Base1とBase2が仮想クラスの場合。 俺が混乱しているw この場合仮想クラスと呼べるのはBase0だね。 「Base1,Base2がBase0を仮想継承している場合。」に訂正。
53 :
49 :2005/07/22(金) 13:37:34 ID:8lwVRgWL
>>51 少し混乱してきたのですが、
Base1,Base2がBase0を仮想継承している場合に、
Base1やBase2のオブジェクトを作ることはできるのですか?
もし、Base1、Base2それぞれのオブジェクトを作った場合、
Base1とBase2のスーパークラスのBase0は
それぞれ別の物となるということでしょうか?
>>53 > Base1,Base2がBase0を仮想継承している場合に、
> Base1やBase2のオブジェクトを作ることはできるのですか?
出来るよ。
出来ないのは純粋仮想クラスと呼ばれるもので、仮想継承し
ているスーパークラスとは全く別物。
純粋仮想クラスとは、純粋仮想関数と呼ばれる関数を含んでい
るクラスで、普通に継承するか仮想継承するかは全く関係ない。
例を挙げるとBase0が純粋仮想関数を含むならば、
class Base1 : public Base0
class Base1 : virtual public Base0
のどちらで継承しようがBase0は純粋仮想クラス。
>>53 > もし、Base1、Base2それぞれのオブジェクトを作った場合、
> Base1とBase2のスーパークラスのBase0は
> それぞれ別の物となるということでしょうか?
これはそう。
#include <stdio.h>
class Base0 {
public:
int m_b0;
Base0(int b0) {printf("Base0:%d\n",b0);m_b0 = b0;}
};
class Base1 : virtual public Base0 {
public:
Base1(int b0) : Base0(b0+10) {printf("Base1:%d\n",b0);}
};
class Base2 : virtual public Base0 {
public:
Base2(int b0) : Base0(b0+20) {printf("Base2:%d\n",b0);}
};
class Derived : public Base1, public Base2 {
public:
Derived(int b0) : Base0(b0+1), Base1(b0+2), Base2(b0+3) {printf("Derived:%d\n",b0);}
};
int main(void) {
Derived objD(0);
Base1 obj1(0);
Base2 obj2(0);
printf("--\nDerived:%d\nBase1:%d\nBase2:%d\n",objD.m_b0,obj1.m_b0,obj2.m_b0);
return 0;
}
ところで仮想継承なんて、何に使うつもりだ?
57 :
774ワット発電中さん :2005/07/24(日) 14:30:47 ID:NTqzDtDx
59 :
774ワット発電中さん :2005/07/24(日) 20:30:06 ID:NTqzDtDx
純粋仮想クラスなる用語は一般的ではない struct X { virtual ~X() = 0; }; inline X::~X() { } なるクラス X を一般には抽象クラス (abstract class) という
61 :
774ワット発電中さん :2005/07/24(日) 20:48:18 ID:NTqzDtDx
ひょっとしてそういう呼び方を知らなかった?
63 :
774ワット発電中さん :2005/07/24(日) 21:22:47 ID:NTqzDtDx
争う気はないので、その言い方には答えません
おれは知らんかったからぐぐってみた。 純粋仮想クラス の検索結果のうち 日本語のページ 約 65 件 抽象クラス c++ の検索結果のうち 日本語のページ 約 3,500 件 規格文書(JISX3014)では、抽象クラスについて、「少なくとも一つの純粋 仮想関数を持つとき、抽象クラスとなる。」と書いてある。 ただで読めるJISは検索できないから、純粋仮想クラスという言葉が使われ ているかは分からん。 争う気はありません。
彼は57の時点では知らなかったわけだ。 だからああいう突っ込みを入れた。その後、少し恥ずかしいこ とに気づいて59で一般的ではないとやや趣旨を変えた。 と、こういうことだろ?
オブジェクト指向的な話題をしているときには 「抽象クラス」って言っておく方が了解を得られ易いよ。
C++の話題の時は「抽象クラス」って言っておく方が了解を得られ易いよ。
規格でもStroustrupの書籍でもそう書いてあるから。
「純粋仮想クラス」ってどこから来た言葉か教えてほしい。
>>65
68 :
54 :2005/07/25(月) 20:31:51 ID:LAdytwkZ
俺が書いた文章が波紋を呼んでいますね。 ちなみに俺の持ってる本には全て「抽象クラス」と書いてありますw。 俺がそういう表現を使ったのは、深い意味はなく、webを調べていたら 純粋仮想クラスという表現があったからです。 それが正しい抽象クラスの呼び方かどうかは知りません。 市民権ぐらいはありそうですが。
69 :
774ワット発電中さん :2005/07/26(火) 07:11:28 ID:NvfItZrz
virtual class hoge = 0;
70 :
774ワット発電中さん :2005/08/16(火) 20:20:33 ID:Pktl2sSb
漏れは哀れな中卒です(TAT) 未だにC++も書けません。本を買いたいのですが何が良いか教えてクリ K&RのCは1987年ごろやりました。1章の演習問題はなんとか丸一日 かけてでできますた。哀れな中卒なので仕事に恵まれず、今まで 一番大きなプログラムは自分の分だけでつが4M(mega)BYTESのサイズでつ。 頭が悪いのでステップ数が思い出せません(TAT) 恵まれない漏れをタスケテクリ
71 :
774ワット発電中さん :2005/08/16(火) 21:26:24 ID:OHbI4r4V
>>70 中卒かどうかは単にスタートラインでしかない
社長になった中卒なんてそこいら中にいるし今日び放送大学で修士まで取れる(専攻はともかく)
で、K&R でそこまで頑張る根性あるなら、迷わず TCPL か the Design and Evolution of C++ ね
それと、ここ
http://research.att.com/~bs むさいオサーンのページだけど、我慢して読んでみれ
JIS X3014 は規格票のくせにテキストとして意外にいけてたりもする
72 :
774ワット発電中さん :2005/08/17(水) 01:35:47 ID:u+xUugxm
>>71 どもです。頁みてきますた。
http://www.research.att.com/~bs/3rd.html これの2nd editionの日本語訳があったので本屋で買ったのでつが、
日本語がえらい抽象的で、加えて頁数が大量で困ってまつ。
この日本語訳の難しい訳文なら原書のほうが楽かな?とも
思うのでつが、それでも頁の分量には閉口するばかり。
もっと薄い頁の本でANSIIが決めたらしい新しい規格のC++を
短時間で読み切れ、習得できる本は無いでしょうか?
石田先生だったか(?)K&Rの日本語訳は非常に読みやすい日本語文章でしたが、
どうも、C++の訳本の日本語の難しさにはほとほと困って、
またこの厚みではいつ読み終えるか知れません。
73 :
774ワット発電中さん :2005/08/17(水) 07:01:22 ID:wz1doviu
MISRA-Cは知らない人は知っといた方が良いね。 MISRA-C++も進行中
>>74 ANSIの何かでつか? 読む気しません・・・
C++では、コンストラクタ、ディストラクタなど、
処理系に(Cでは想像もできないような)特別な仕掛けがあって、
その説明も、C++ 2nd editionは良く書いてないです。(ぼんやりと抽象的に書いてある。)
そういうc++での組み方の考え方が、明快に簡潔に具体的に書いてる本
売ってますかねぇ? 分厚い本は、時間的にムリポ
Cで想像するならただの構造体の初期化だろ
あと関数へのポインタのルックアップテーブルの初期化もしてるが
コンストラクタ、ディストラクタの仕組みは、C++でできた 初めての仕掛けと思いまつ。 コンストラクタ関数:変数の割り当てと初期化 ディストラクタ関数:変数の破棄 これらの関数が自動的に呼び出せるようにして、メモリ管理を 実現してるのは、トラディショナルなプログラマには、驚きの仕掛けでつ。 Cは簡素な言語体系で、当然そのようなメモリ管理は、 OSにプログラムして自分で作ることをやるしかなかった。 これが運動図では、メモリーリークの問題で世に有名になった。
>>75 JISはただで読める。
www.jisc.go.jpのデータベースからX3014を検索。
しかし抽象的ってどういう意味で書いてるのか分からんけど、
きちんと書いてあると思うがなあ。
>>77 みたいな話を知りたいならコンパイラの出力を読んだら?
80 :
774ワット発電中さん :2005/08/19(金) 22:04:29 ID:shAGV53b
>>75 2nd Ed. を読んだ感想がそうならあきらめろ
>>80 2nd Ed.はあきらめたほうがよさそうです。時間がかかり杉。
あの文章は和訳してしまうと、意味がロストして、かえってわからなくなるのかしら?
作者のWEBPAGEの英文はわかりやすい文なので、和訳が悪いのかな?
CプログラマのためのC++ という本があるらしいのですが、
ANSI規格に対応していないらしい。
どうやら実用的な、使えるC++教本が無いのかな?
誰か書いてクリ
2nd Ed. 8000円も出してかうんじゃなかった。K&Rの易しさを期待したのだが
失敗
82 :
774ワット発電中さん :2005/08/20(土) 17:39:19 ID:JIVjcu9s
原著が欲しければ洋書のコーナーへ行けば簡単に手に入る
# あの
>>70 様にこんなコメントせにゃならんこと自体に正直がっかり
C++のコンパイラがどんなコードを吐くのか知りたい、 C++のコンパイラ書きたいとか。 それとも単にC++でプログラムが書けるようになりたいとか。 後者なら、そこらの適当に読みやすそうな入門書で十分じゃないかな。
84 :
774ワット発電中さん :2005/08/20(土) 19:38:28 ID:JIVjcu9s
じゃ、入門書読んだだけでシミュレータとか書いてみろよ SystemC だってメンバポインタとか出てくるぞ
>>82 哀れな中卒の漏れです。期待にかなわずスマソ orz
悲しいかな、C++作者は、頭のできが漏れとは全然違うんです。
作者の抽象的な言い回しをすぐに理解できるような頭を
漏れがもっていれば、躊躇無く原書を買ったと思います。
MFCにたどりつけないことを漏れ自身も情けなく思っています。
仕事でC++が必須でないことを口実に、最近でもCを主に使っていますが、
C++Builder等のGUI開発ツールを使いこなすためにもC++習得は必須で、
なんとかWindowsの世界に入れないものかと日々思っているんです。
Windowsのプログラムを組める人は正直羨ましいです。
今C++演習をネットで検索して、勉強を始めてはいますが、
できれば教本が欲しいのです。甘えすぎでしょうか。
86 :
774ワット発電中さん :2005/08/20(土) 20:38:24 ID:JIVjcu9s
>>86 ”もうずっと人大杉”
でMS-IEではだめみたいです。
2ch専用ブラウザでないとだめみたいです。
有料サービスみたいなことが書いてあります。
>>85 山本信雄氏の「VisualC++ はじめてのWindowsプログラミング 1〜3」を勧める。
1冊1600円するのでとりあえず1だけ買って気に入れば残りをそろえれ。
2は君の嫌いな抽象的な話も多いので1と3だけでもいいかも。
違った1冊2600円だ。たけ〜なこの本・・・ でも価値はあると思うよ。
要するに言語の解説でなくてサンプルプログラムが欲しいのか。
91 :
774ワット発電中さん :2005/08/20(土) 21:51:11 ID:JIVjcu9s
オブジェクト指向言語の解説 て書かれてる本は、特定の 言語を対象にしてないよ。 まともな本ならね。
94 :
774ワット発電中さん :2005/11/27(日) 20:29:58 ID:h0FXxX8p
WindowsのAPIで、シリアルポートからキャラクタが全て出力されたタイミングを 知る方法って無いですか? WaitCommEventとかだと、ドライバにキャラクタが渡った時点でEV_TXEMPTYが 返ってってきてしまうので、 本当にハード的に出力完了したタイミングが分からないんですけど。
>>94 折り返して受信してみるとか。
そこまでシビアなタイミングを窓に要求するのが間違いな気がしないでもないが。
96 :
94 :2005/11/27(日) 23:48:43 ID:h0FXxX8p
>>95 やっぱり厳しいですか。
DOS時代のハード直接叩きまくりのソフトを
Windowsに移植するのは無理なのかもしれませんね。
98 :
94 :2005/12/01(木) 20:44:26 ID:0hg0iHsv
>>97 どうも。
レガシーポートのあるパソコンなら使えそうですね。
でも、直接叩くと言うことは、USB-シリアル変換器はダメなんでしょうね。
シリアルのRTS端子を単に最短時間でON/OFFするようなプログラムを書いて、 1)PC標準搭載のシリアル、WindowsAPI 2)PC標準搭載のシリアル、GiveIO/DirectIO等 3)USB-シリアル変換、WindowsAPI で速度を比較すると「えっ!」っていうような結果になるよ。
結果置いてけよ
3) >>> 2) >>>>>> 1) じぁまいか?
>>101 自分のPCでやってみたらいい。
ちなみにうちのPCで単純ON/OFFを出力させてみたら
1) 約60kHz
2) 約80kHz
3) 約180Hz
1)と2)が思ったほど差がないのに対して
3)が桁違いに遅い。
ドライバーの違いとかもあるんだろうな。
104 :
774ワット発電中さん :2006/08/20(日) 23:19:14 ID:UQjPi9sZ
age
105 :
774ワット発電中さん :2006/08/23(水) 17:48:16 ID:tX8sRKMk
>>100 チョー亀レスだが、1)と2)はそんなに違いない
106 :
774ワット発電中さん :2006/11/15(水) 11:48:40 ID:8RayT1qf
スレ違いだったらスマン。 高校生に毛が生えた程度の卒業研究に使えるような C言語のプログラムを教えてくれないか?
107 :
774ワット発電中さん :2006/11/15(水) 17:19:57 ID:y//EGCbI
int main(void) { while((高校生+毛)==106){ printf("〜"); } }
ロボコンとか見てると、最近の高校生は実践つんでるからなー。 マイコン使えて当たり前、FPGA使えて当たり前、C使えて当たり前。 遊びほうけてるW大生よりはるかに優秀(w
H8を初めてCでプログラム組みたいんだけどどの本で勉強するのがいい? アセンブリ言語での経験はあります。
110 :
774ワット発電中さん :2006/12/18(月) 00:16:14 ID:iVQocjg7
Cでモールスのアルファベットの音を出すプログラムはどうすれば いいでしょうか。教えてください。
Cにもよるけどとりあえず音の出し方探せよ 後は長短無音の3つの音声ファイル用意して流せばいいじゃない
>>103 亀だけど、パラレルポートで010101と書き込んでやってみたら
20MHzとか出たんだけど・・・
ちなみに故モルフィーのUSB-IOでやったら10KHzもでなかったよ。
113 :
774ワット発電中さん :2007/02/28(水) 19:25:56 ID:VjljiuTn
ものすごい初心者なんでアホなこと聞きますが、Cで作ったプログラムって VC++でもできるんですか?
c++は大体においてcを含む
115 :
は@c178.016.c3-net.ne.jp ◆cplnFO9T0I :2007/03/04(日) 00:06:10 ID:DTnrL2zY BE:363139698-2BP(1000)
>>113 物凄く抽象的なことでわからない。
単なるhello worldなら普通にいけるがw
C用に書かれているとしても処理系依存の場合だってあるし、動かす環境への依存だって発生する。
例えが悪いかも知れないけどUNIX上でsystem("dir")されても動くわけ無いでしょ。
116 :
774ワット発電中さん :2007/03/04(日) 14:00:13 ID:xhy7Q9iD
>>89 安い部類では。
その価格帯の本は「何度読んでも新たな発見がある」ということが少ない。
C++をCの上位互換言語として使ってる人も多いと思う。
プログラミング言語はただの設計表現手段でしかないな。 「状態遷移表?状態遷移図?ハァ?何それ」 「とりあえずグローバルなフラグ変数作りまくってるよ」 というような人間なら、Cを使おうがC++を使おうが関係ないと思う。 C++の価値も引き出せない。
それはいえてる。
121 :
774ワット発電中さん :2007/03/06(火) 17:44:47 ID:YHhAZzc8
123 :
774ワット発電中さん :2007/03/11(日) 03:50:16 ID:lY4PhK8Y
>>851-852 ありがとうございます。
で、CTで必要な電流を取り出すわけですが、これって1:1で出ると考えて良いでしょうか?
また、この2次側に適当な抵抗をつけてその両端の電圧からの比を出せば、電流値が求められると思いますが、この時使おうと思うデジタルオシロのプローブは通常使う弱電用のもので吹っ飛ぶことはありませんでしょうか?
一応、星一徹親子を見守る姉のように、若しくは、ベンチとダッグアウトの通路から半身で試合を見守る古葉元監督のように測定を行うつもりです。
スマセン 誤爆でした
(・∀・≡・∀・) ダレモイナイ
126 :
774ワット発電中さん :2007/10/19(金) 21:48:18 ID:Z4mJs4kD
VC++ 6.0 において HtmlView を ベースに使ってブラウザを開発しているのですが、マウスの左ボタンクリックをカスタマイズ する方法がわかりません。どなたか情報ください。
127 :
774ワット発電中さん :2008/05/19(月) 09:03:34 ID:F+pOnlDM
VC++初心者です VC++6.0でアプリを作ってるんですが、ダイアログベースでボタンをPCのキーボードと対応させたいんですが PreTranslateMessage(MSG* pMsg)という関数を使う所まではわかったんですが、 case文で分岐させる場合、Shiftを押しながらキーを押した時は別の処理をするプログラムを書きたいんですが 今現在、私の記述ではShiftボタンのみを受け付ける状態なんですが、何か回避方法はありますでしょうか?? case VK_Shift: switchswitch(pMsg->wParam){ case VK_UP: -----関数------ } みたいな感じで書いてます
128 :
774ワット発電中さん :2008/05/21(水) 01:41:33 ID:ESHmJSQ5
がんがれ
もうすぐ一年(保守)
130 :
774ワット発電中さん :2009/06/18(木) 01:11:31 ID:ubHmNVW6
VC++初心者です というかCもC++も触って1ヶ月程度です。 教えていただきたいのですが、 public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: ここにコンストラクタ コードを追加します // array< System::Windows::Forms::CheckBox^ >^ checkBox = gcnew array< System::Windows::Forms::CheckBox^ >(24); for(unsigned int i = 0; i < 5; i++ ){ // 送信するメッセージのデータフィールド checkBox[i] = gcnew System::Windows::Forms::CheckBox(); checkBox[i] -> AutoSize = true; checkBox[i] -> Checked = true; checkBox[i] -> Location = System::Drawing::Point(30, 10 + (24 * (i + 1))); checkBox[i] -> Name = "てすと"; checkBox[i] -> Size = System::Drawing::Size(15, 14); checkBox[i] -> TabIndex = i; checkBox[i] -> UseVisualStyleBackColor = true; checkBox[i] ->Click += gcnew System::EventHandler(this, &Form1::checkBox_Click); this->panel1->Controls->Add( checkBox[i] ); } } // 省略 // #pragma endregion private: System::Void Button1_Click(System::Object^ sender, System::EventArgs^ e) { } }; } このクリックイベントで、チェックボックスにチェックがあるかないかを 判定したいのですが、チェックボックスにアクセスできません。 どうやって書いたらいいんでしょうか?
131 :
774ワット発電中さん :2009/06/18(木) 05:11:29 ID:wDioXzL5
ム板の方がいいかもなぁ
>>130 どう見てもC++に見えんのだが…
senderをCheckboxにキャストしてValue読めばいいんでないかい。
134 :
774ワット発電中さん :2010/05/13(木) 21:08:48 ID:SpeGBWac
なんだが死んでいるスレだなぁ。 取りあえず疑問なのだが。 gccを使っている訳だが ターゲットCPUに内蔵SRAMと外部RAMの2つが付いていて使い分けたい。 こういう場合、__attribute__((section))で使い分けるのが基本なんだろうか? でもbssに設定されてる領域が優先されて__attribute__((section))が無視される場合があるような…
struct ext_mem { ・・・・・ ・・・・・ }; struct ext_mem *extm; とでもやって,extmのメンバとしてアクセスするなり,別途 #defineしておけばとりあえずいいんでないの? せっかく->演算子もあることだし.