はてなキーワード: MFCとは
最初に書かなかったのが悪いのですがヘッダーファイル内のCStringで構文エラーが起きていました
http://m--takahashi.com/bbs/pastlog/08400/08389.html
これによるとDLLの設定でMFCを利用するとしないといけないようです
自宅ではExpress Editionしかないので試すことは出来ませんが後日試してみます
別のヤツも書いてるけど、MFCの方がずっと簡単だぞ。VBみたいに簡単なインタフェースだし、クラスによる実装は使う側が何も気にせず楽でいい。
Windowsでカメラだと、もっと先で大変な事が色々と待ち受けてるからMFCでやった方がいいよ。ドライバをアプリケーションが呼び出せるようになるまで、いくつも手間がある。もっとも俺のは2000年ごろの知識だけどね。
CはかじったことあってもMFCはさっぱりわかりません
それに現在あるwin32apiのプログラムに機能追加したいのでどうしたものかな、と
すべては自分にスキルが全くないことが悪い
そこで研究室で購入したカメラ専用のキャプチャーソフトがあるんだがそれに付属していたSDKを使ってプログラムを作ろうとしている
作るというかすでにあるwin32APIのプログラムにSDKを追加しようとしている
だけどそのSDKをincludeするだけでSDKのヘッダーファイルに構文エラーが発生する
なにも利用していないのに
これが数十万するソフトのSDKかと思うとやってられない
だがちょっと待って欲しい
SDKの説明書では
3つのDLLのうち2つはタイプが「MFC標準DLL」となっている
もしやこれはMFCで使うのでは?と思ったがネットで調べてみたらSDKはwin32APIで使うとなっていた
やっぱり間違っていない
あーあーどうしよう
これひどいな…。誰もつっこまないのか?
>>「ランタイムなどを使用せず」というのは無理です。C/C++の標準に、ネットワーク系の関数が無いからです。たとえばWindowsなら、Winsockライブラリが使用できるので、それを利用することになります。<<
質問している人が言うランタイムって別途配布する必要があるライブラリのことだろ?最初からインストールされているWinsockや静的にリンクできるライブラリは別物だろ?
>>WindowsだとC++で書いてもMFCを使っちゃうとランタイムが必要ですよ。<<
これも静的にリンクできるよ。ひょっとして入門版の開発ツールを使ってるのか?
これから就職活動するバカはいないだろうけど、そういう人もいるだろうから少し書いておこう。
どちらかというと、アンチMS派なUnix技術者がWindowsだけの世界で仕事をする辛さを。
Unix技術者は、業務実績にSolaris/AIX/Linuxって書いてあってもちゃんと質問しろ。Windowsの仕事は無いですよね?って。
僕が食べるために職を手にしているこのIT業界というのは、バッドノウハウとMicroSoftとExcelで出来ている。
その為、僕が手にしたUnixの知識は、特定の仕事以外でしか役に立たないし、使わない。
viだろうが、TeXだろうが、Xの知識よりも、MFCとVBAのちょっとした知識のあるヤツが上にみられる。
ExcelとWindowsの知識があればそれだけで仕事になるからだ。
いいか、viやTeX、Xなんて捨てちまえ、Excelがあればそれでいいのだ。
MSでは、ActiveXを使ってCOMを操作し、クライアントのレジストリを操作し、IE単体でできないことをやってしまうヤツがハッカーと思われている。
VBAマクロで作ったなんちゃってツールを3時間で作れるほうが、
perlやruby/pythonで、より少ない時間で作ったツールよりも凄く思われてしまう。
そして、それができるヤツの方が、Unix技術者よりもよりハッカーであり、技術力があると思われている。
ブラウザを例にしたが、
javascriptでalert/confirmを出すよりも、vbscriptでMsgBoxの方が多くのことができるから、
javascriptでNumberの計算よりも、vbscriptでDecimalを使った方が倍密度の計算ができるから、
vbscriptを駆使できるヤツは、凄く重宝される。
いいか、javascriptで汎用的に書くのなんてナンセンスだ。javascriptなんて捨てちまえ、覚えるのはJScript実装(WSH)だ。
この業界、何が不満になるかというと、
MSの、もっというとWindowsのことしか知らないヤツが多すぎるということ。
そういうヤツらは、Windowsだったらこんなこともできるのに、なぜUnix/Linuxだとこんなこともできないのか。と言う
そういうヤツらは、Windowsの未修正バグの合間を縫いながら中途半端な実装しかしない。
だって、中途半端(もしくは大雑把)な実装で動いているものの中で動くから。それ以上に実装しようとしてもできないのだ。
いいか、win32のメッセージングの仕組を覚えるんだ。無理矢理send_keyみたいなコードを書けるようにしろ。
コマンドを連結するよりも、結果に近いコードを書くんだ。線形になろうがヤツらは気にしないだろう。
何故か。
それは、.NETで作ればお客さんの要望が実現でき、Excelと連携できるからだ。
ヤツらは、C/Sの世界でこそ役に立つ技術者だが、Webの世界に連れてきてはならない。すぐに実装がIEだけになる。
ヤツらにLLを覚えさせるのは無理だ。
クロージャなんて知らないし、高階関数やカリーなんてコードを教えてみろ。後から辛くなるのは自分だ。
ヤツらにはPHPを教えておけ、それだけで満足する。すごいヤツになった気にさせれる。
バッドノウハウ慣れしているヤツらはそれを使ってコードを書いてもらえ、rubyで書かせるよりも修正が20倍楽だ。
いいか、まとめるぞ。
今まで一生懸命Unixを勉強してきたのは無駄だ。いますぐ忘れるんだ。
Excelを今から覚えろ。VBAを覚えろ。そしてMSの動きを身に着けるんだ。
Windowsでは単位がFormだ。それが標準出力と標準入力と思え。ときどきSheetとかWorkbookになるぞ。
ストリームやファイル操作には気をつけろ。Unixの気分でいると思わぬところで抜けが出るぞ。
IRCは使うな。Jabberを使うな。メッセンジャーを使え。移行のお薦めはGaimだ。Windows版がある。
viの使用頻度を減らせ、変なコマンドを身に着ける前に、秀丸マクロを書けるようにしろ、Notepadのショートカットを覚えとけ。
BindとかApache(Httpd)の知識はいらない。IISだ。ActiveDirectoryだ。
文字コードはCp943cを何がなんでも押せ。Shift_JISっていう大雑把な伝えかたはダメだ。絶対cp943cにしろ。UTF8/UTF7との格闘で身も心もぼろぼろになるぞ。
汎用性なんて無いんだ。Windowsというプラットフォームがあれば。
ああ、心が渇いていく。
16からプログラミングを始めた23歳
思えば最初からレベル2でのスタートだった。始めた当初からプログラミングが楽しくて仕方なかったのだ。
プログラミングを始めて3ヶ月ぐらいはC,C++を学び、Boost最強!とかと思っていた。パズルを解くのにはまる。
六ヶ月ぐらい経過したときには、MFCを使ってwindowsで色々作っていた。目に見える物が作れるのがうれしかった。
ふとWindowsAPIで直接組んでみたときにMFCの使いづらさを知った。
数ヶ月後、ソフトウェアレンダラとか、剛体シミュレーションとか作り始めた。OpenGLやDirectXにも手を出した。
ここら辺で一年ぐらい経過した。
いつの間にかmlやらschemeやらに手を出した。新しい地平を目にした気がした。
rubyやpythonにも手を出した。LLという新しいあり方を知った。
それでも完全に満足できなかったので新しい言語を作ってみた。
設計して、検討して実装した。とりあえずの最低限の機能をだ。
あまりの地道な作業に気が遠くなった。自分には言語を作るのが無理だと思った。
就職した。仕事をしてプログラマはプログラミングが好きじゃない人がいることに驚愕した。
今ではNEETをしている。