【初心者歓迎】C/C++室 Ver.72【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/03/05(金) 16:51:13ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.71【環境依存OK】
http://pc12.2ch.net/test/read.cgi/tech/1264774545/
【アップローダー】(質問が長い時はココ使うと便利)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
http://codepad.org/ (コンパイルもできるし出力結果も得られるのでお勧め)
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。
0374デフォルトの名無しさん
2010/04/09(金) 20:24:39等間隔でインクリメントということだよね?
そのコードは規格上では多分何も保証してくれてないけど、
IEEE754準拠の環境上ならそれでOK。
まぁdoubleでそれやると4500京回以上ループ回るが。
0375デフォルトの名無しさん
2010/04/09(金) 20:34:5052bit程度だからそんなに精度はないはず
0376デフォルトの名無しさん
2010/04/09(金) 20:44:07今時のCPUなら速いだろ
0377デフォルトの名無しさん
2010/04/09(金) 20:45:400378デフォルトの名無しさん
2010/04/09(金) 20:53:35DOS時代はリセットしかなかったからなあ
0379375
2010/04/09(金) 20:56:59おお、4500兆か。
億、兆、京と数えていたつもりだったんだが、万をすっかり忘れていた
0380デフォルトの名無しさん
2010/04/09(金) 20:57:190381デフォルトの名無しさん
2010/04/09(金) 21:17:14[0.0 - 1.0]
の間で常に
d + DBL_EPSILON > d
を満たせばいいということです。
できるみたいですね、ありがとうございます。
0382デフォルトの名無しさん
2010/04/09(金) 21:26:27むりっしょ
0383デフォルトの名無しさん
2010/04/09(金) 21:30:26必要ないなら整数最大値で整数を割った値を使う
0384デフォルトの名無しさん
2010/04/09(金) 21:50:05無理じゃねーだろ
0385デフォルトの名無しさん
2010/04/09(金) 22:14:580386デフォルトの名無しさん
2010/04/09(金) 22:21:41定義は
1.0+DBL_EPSILON > 1.0
が成り立つ最小の数値だから大丈夫
0387デフォルトの名無しさん
2010/04/09(金) 22:38:03struct foo {
__int64 start, end, freq;
HANDLE hprocess;
DWORD oldclass;
foo() : hprocess(GetCurrentProcess()), oldclass(GetPriorityClass(hprocess)) {
Sleep(10);
// SetPriorityClass(hprocess, REALTIME_PRIORITY_CLASS);
QueryPerformanceFrequency((LARGE_INTEGER*)&freq);
QueryPerformanceCounter((LARGE_INTEGER*)&start);
}
~foo() {
QueryPerformanceCounter((LARGE_INTEGER*)&end);
// SetPriorityClass(hprocess, oldclass);
std::cout << (int)(end - start) << std::endl;
}
};
int main()
{
{
std::cout << "test1 : ";
foo f;
double d = 0.0;
while (true) {
d += std::numeric_limits<double>::epsilon();
if (d > 1e-7)
break;
}
}
}
0388デフォルトの名無しさん
2010/04/10(土) 00:40:590389デフォルトの名無しさん
2010/04/10(土) 00:42:510390デフォルトの名無しさん
2010/04/10(土) 10:24:51VBだとデフォルトでそうなっているので、同じようにしたいのです
0391デフォルトの名無しさん
2010/04/10(土) 13:53:28普通に改行だけでちゃんと続きのインデントになってるぜ?
VB(6/.NET)がどうなのかは知らないが
0392デフォルトの名無しさん
2010/04/10(土) 14:01:12VBで↓を入力すると、強制的にこの形になるんです。二行目にタブを余分に入れても、タブを消してもこの形に戻ります
ある程度コードを書いてから、全体をifやforで括りたくなったときに威力絶大です
そういった機能は無いでしょうか?
Class tex
Inherits TextBox
Sub New()
Text = 123
End Sub
End Class
0393デフォルトの名無しさん
2010/04/10(土) 14:21:27範囲選択して Ctrl+K, Ctrl+F くらいしかできないな
0394デフォルトの名無しさん
2010/04/10(土) 14:28:30ショートカットキー使わせてもらいます
0395デフォルトの名無しさん
2010/04/10(土) 14:30:37一気に生理できました!すごく見やすいです。感激です。
0396デフォルトの名無しさん
2010/04/10(土) 19:12:42初潮迎えたのか
0397デフォルトの名無しさん
2010/04/10(土) 21:57:01俺が思っても言わなかったことを・・・
0398デフォルトの名無しさん
2010/04/10(土) 22:47:07初潮の年齢は幅があるだろうが普通は10〜14歳だから、
その年齢でそれだけのプログラミングをする女って
すげぇ優秀だな
0399デフォルトの名無しさん
2010/04/10(土) 22:54:050400デフォルトの名無しさん
2010/04/10(土) 22:57:47ところまではあっているだろうが。。。
0401デフォルトの名無しさん
2010/04/11(日) 10:25:37原因分かる人がいたら教えて下さい。
#include <cstdio>
#include <windows.h>
int main()
{
return 0;
}
0402デフォルトの名無しさん
2010/04/11(日) 11:14:410403401
2010/04/11(日) 11:20:36エラーメッセージです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10567.txt
0404デフォルトの名無しさん
2010/04/11(日) 11:46:47#include <windows.h>
#include <cstdio>
int main()
{
return 0;
}
0405デフォルトの名無しさん
2010/04/11(日) 11:50:17ああそれBCC5.5.1が古すぎてインクルードの前後関係で
エラーが出てしまう奴だね
他にもRogueWaveのiostreamなどを使っていてバグはいくつか
知られているよ
0407デフォルトの名無しさん
2010/04/11(日) 13:07:33これはひどいなBCC
0408デフォルトの名無しさん
2010/04/11(日) 13:11:59Boostにも部分的にではありますが対応してます
吐くコードの質もかなり向上してます
でもVC9には全然叶いませんが
それからコンパイル速度が遅くなりましたね
0409デフォルトの名無しさん
2010/04/11(日) 13:46:00> 今BCCはEmbarcadero CC 6.2.1になってバグはほとんど取れ、
> Boostにも部分的にではありますが対応してます
ECC6.2.1とか無償で使えないんだよね?
BCC大好きっ子でもない限り、ECCに金を払ってみる気にならんし・・・。
はやくBCC5.5.1に取って代わってくれ。
0410デフォルトの名無しさん
2010/04/11(日) 13:47:220411デフォルトの名無しさん
2010/04/11(日) 14:12:26そんなことはない。
プロファイル使った最適化は使えないが、/O1、/O2くらいは使える。
0412デフォルトの名無しさん
2010/04/11(日) 14:29:16一体なんでそう思ったんだ
0413デフォルトの名無しさん
2010/04/11(日) 15:02:250414デフォルトの名無しさん
2010/04/11(日) 15:37:370415デフォルトの名無しさん
2010/04/11(日) 19:36:14いつも M-x fundamental-mode してる
0416デフォルトの名無しさん
2010/04/12(月) 13:36:17Directx+ライブラリ
http://homepage2.nifty.com/natupaji/DxLib/index.html
を使うか、
ODE
http://www.koj-m.sakura.ne.jp/ode/
を使うかどちらの方が楽でしょうか
ジャンプ等の移動関係は後者が有利そうで、描画に関しては前者が優れてそうなかんじなのですが
0417デフォルトの名無しさん
2010/04/12(月) 13:44:20そのODEって知らないけど、サイトの説明見た限りで言えば、
多分初心者が手を抜いて簡単にゲーム作る為の物じゃないと思うぜ。 そのライブラリの方言をどっさり覚えないといけないと思う。
単にシミュレーションなどのデモ作るには良さそうだけどね。 リアルタイムゲーム的な物向けじゃない気がする。
あと、質問内容から察してなんとなくDirectX自体良くわかってなさそうなんだけど(失礼)、
多分3Dアクションってあたりから、最終的にやらねばならないコーディング内容は、
DxLib でも DirectX直接でもあまり変わらないと思うので、どちらかと言えば DirectX 直接の方が
いろんな意味で楽で作業も早いかもしれない。
よく、初期化処理とか面倒で、みたいな事言う人もいるけど、あんなの定型処理なので意味さえわかってれば簡単だし、
メッシュモデルを移動や回転などさせる処理も単に行列用意してかけるだけ、みたいな簡易な関数も用意されてるので、
やってみれば意外にすんなりいけると思う。 そんな感じ
0418デフォルトの名無しさん
2010/04/12(月) 13:57:01ありがとうございます
実際よくdirectxは分かってないです・・
directxを直で書いてみます
0419デフォルトの名無しさん
2010/04/12(月) 14:10:550420デフォルトの名無しさん
2010/04/12(月) 15:14:530421デフォルトの名無しさん
2010/04/12(月) 15:47:420422デフォルトの名無しさん
2010/04/12(月) 15:53:36Windows環境で winver により 使える/使えない API を分岐して使いたい
→ (LoadLibrary) 〜 GetProcAddress の戻りで分岐
0423デフォルトの名無しさん
2010/04/12(月) 17:12:21そこまでいかないとわからないか・・・そりゃそうか
ある関数が定義されてなければ俺が定義する というコードを
書きたかったんだけど
0424デフォルトの名無しさん
2010/04/12(月) 17:16:35(.lib 中 と .obj中 に同じシンボル → .obj側優先でリンク: MSのリンカ)
0425デフォルトの名無しさん
2010/04/12(月) 17:23:23ちょっと難しいかも?
0426デフォルトの名無しさん
2010/04/12(月) 21:22:320427デフォルトの名無しさん
2010/04/13(火) 00:58:260428デフォルトの名無しさん
2010/04/13(火) 06:51:05と
noskipws
じゃダメなん?
0429デフォルトの名無しさん
2010/04/13(火) 11:13:13ios::binaryはどうやって設定するんでしょうか?
noskipwsなどはsetf()で設定できるけど、ios::binaryは書式フラグではないですよね。
0430デフォルトの名無しさん
2010/04/13(火) 15:25:31weakか。使えそうかも。
0431デフォルトの名無しさん
2010/04/13(火) 22:05:51環境はwindowsXPSP3 VC++2008です
const_castをうまく扱えません、助けてください
まずMeCabという形態素解析エンジンのライブラリを使おうと思いました。
ttp://mecab.sourceforge.net/libmecab.html
のC++ サンプルと言うものを使おうと思ったのですが、エラーが出ます
ライブラリ自体は
ttp://jaist.dl.sourceforge.net/project/mecab/mecab-win32/0.98/mecab-0.98.exe
で解凍したMeCab\sdkの中にあります
とりあえず
#include <mecab.h> を
#include "mecab.h" に直しました
すると別のエラーがでまして
1>d:\mecab\main.cpp(30) : error C2440: '初期化中' : 'const MeCab::Node *' から 'MeCab::Node *' に変換できません。
1> 変換で修飾子が失われます。
1>d:\mecab\main.cpp(36) : error C2440: '=' : 'const MeCab::Node *' から 'MeCab::Node *' に変換できません。
とでまして、const_castと言うものを使えば解決出来そうな感じなのですが、使い方がよくわかりません
どうすればいいんでしょうか
30行目は以下のようになっています。よろしくお願いします
MeCab::Node* node = tagger->parseToNode(input);
0432デフォルトの名無しさん
2010/04/13(火) 23:07:53open時
0433デフォルトの名無しさん
2010/04/13(火) 23:18:46そのドキュメントを信じるならMeCab::parseToNode()はMeCab::Node*を返すのでそんなエラーは出ない
場当たり的1
MeCab::Node const * node = tagger->parseToNode(input);
場当たり的2
MeCab::Node* node = const_cast<MeCab::Node*>(tagger->parseToNode(input));
もしかして:
MeCab::Tagger *tagger = MeCab::createTagger (argc, argv);
の行にconstをつけてしまっている
または
サンプルがそもそも間違っている
0434デフォルトの名無しさん
2010/04/14(水) 01:37:17cin, coutは既にオープンされてると思うんですが
オープンし直す方法があるんですか?
0435デフォルトの名無しさん
2010/04/14(水) 01:43:220436デフォルトの名無しさん
2010/04/14(水) 01:47:370437デフォルトの名無しさん
2010/04/14(水) 02:31:33ありがとうございます。処理系依存になっちゃうんですね。
Windowsだと_setmode()を使えばバイナリモードにできるみたいでした。
0438デフォルトの名無しさん
2010/04/14(水) 07:54:09やっぱりエラーでてしまいます><
もう作者に聞いてみます。ありがとうございました!
1>main.obj : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) char const * __cdecl MeCab::getTaggerError(void)" (__imp_?getTaggerError@MeCab@@YAPBDXZ) が関数 _main で参照されました。
1>main.obj : error LNK2019: 未解決の外部シンボル "__declspec(dllimport) class MeCab::Tagger * __cdecl MeCab::createTagger(int,char * *)" (__imp_?createTagger@MeCab@@YAPAVTagger@1@HPAPAD@Z) が関数 _main で参照されました。
1>D:\mecab\Debug\mecab.exe : fatal error LNK1120: 外部参照 2 が未解決です。
0439デフォルトの名無しさん
2010/04/14(水) 08:26:25リンクエラーで聞かれても困っちゃうな
0440デフォルトの名無しさん
2010/04/14(水) 21:46:39freopen
0441431
2010/04/14(水) 22:24:36なければ、さようなら
0442デフォルトの名無しさん
2010/04/14(水) 22:33:26一人の命が失われたのであった。
0443デフォルトの名無しさん
2010/04/14(水) 22:58:56付属のexample.cppだとそのようなエラーは出なかった
>>438
ライブラリを使うのは初めてか?力抜けよ
0444デフォルトの名無しさん
2010/04/14(水) 23:13:25まぁ色々な言語を使って勉強してみ
後年思い出したときに使うと、あっけなく使えるもんさ
今必要なものだったら、その、なんだ。スマン。
0445デフォルトの名無しさん
2010/04/15(木) 12:10:08#include "mecab.h"
#pragma comment(lib, "libmecab.lib")
でいけたぞ。もう死んだかな
0446デフォルトの名無しさん
2010/04/15(木) 21:51:070447デフォルトの名無しさん
2010/04/15(木) 22:22:33VisualStudio2005って対応してますか?
学校でインストールできるんですが、2008より2005のほうが軽いよ!って言われて困ってます
0448デフォルトの名無しさん
2010/04/15(木) 22:42:31どっちでもいいけど
教えてくれる人の環境に合わせるのが楽
0449デフォルトの名無しさん
2010/04/15(木) 22:57:542008作る時に2005に残ってた大量のバグ潰したらしいよ!と言い返してみよう
0450デフォルトの名無しさん
2010/04/15(木) 22:59:39でも2010に移行しようってときにあえて2005ってどうなの・・・
0451デフォルトの名無しさん
2010/04/15(木) 23:00:180452デフォルトの名無しさん
2010/04/15(木) 23:33:11デバッグ中にD&Dができなくて困ってた
0453デフォルトの名無しさん
2010/04/15(木) 23:53:230454デフォルトの名無しさん
2010/04/15(木) 23:54:380455447
2010/04/15(木) 23:57:05ありがとうございます
教えてくれる人?は特にいないです
みんなでゲーム作ろう!ってなって、学校で配ってるのが2008と2005でした
斡旋機なので、全員同じスペックのWin7のノートPCをもってます
こういう場合はどっちがおすすめですか?
新しいほうがいいのかな?
一応、どっちかに統一しないとコンパイルが通らなくなるといわれたので
0456デフォルトの名無しさん
2010/04/16(金) 00:06:50tr1使えるしなー
0457デフォルトの名無しさん
2010/04/16(金) 00:11:430458デフォルトの名無しさん
2010/04/16(金) 00:21:190459デフォルトの名無しさん
2010/04/16(金) 07:12:270460デフォルトの名無しさん
2010/04/16(金) 08:03:18Expressかもよ。 配ってるってのはDVD媒体に焼いて配ってるのかもしれないし。
>>447
特にDirectXはバンバン古い開発環境を切り捨てるから、新しいのを入れといた方がいいと思うけど。
0461デフォルトの名無しさん
2010/04/16(金) 09:33:49くばってるというのは、インストールできる場所が大学の図書館にあってCDを借りてインストール
職員がプロダクトキーを打ち込んで
CDを返却して帰るみたいな感じです
0462デフォルトの名無しさん
2010/04/16(金) 11:40:39EEなら大丈夫だと思うが・・
0463デフォルトの名無しさん
2010/04/16(金) 12:52:27ただ、太っ腹だなぁと思う。
0464デフォルトの名無しさん
2010/04/16(金) 15:43:050465デフォルトの名無しさん
2010/04/16(金) 18:26:01それ大丈夫なのかww
0466デフォルトの名無しさん
2010/04/16(金) 20:09:48ってところが味噌だわな
胡瓜に附けて食べちゃう
0467デフォルトの名無しさん
2010/04/16(金) 22:40:510468デフォルトの名無しさん
2010/04/16(金) 23:44:17論文をコピーするのと同じ感覚で、ソフトもコピー
してるんじゃないかと勘繰ってしまう…
0469デフォルトの名無しさん
2010/04/16(金) 23:55:47教材費として徴収済みなんじゃないのかな
Linux&gccやEEでも十分だとは思うけど
アカデミックなら安いし
0470デフォルトの名無しさん
2010/04/17(土) 00:08:24訳がわからない運用ということになるだろうけど・・・
0471デフォルトの名無しさん
2010/04/17(土) 00:28:00生徒と職員の人数分のボリュームライセンスでOKなんじゃね?
生徒数と職員数さえ把握しておけば、卒業の時に消して貰う運用にして、
学校の全てのPCにインストールすることも、
生徒であることを確認するだけで、持ってきたPCにインストールもOKなのでは?
まぁ、細かいライセンス条項を覚えてないから間違えてるかも知れんが…
0472447
2010/04/17(土) 07:58:37結局2005いれてSP1あてたら正常に動きました
ちなみに、Officeも2003と2008?最新のやつ無料でいれられます
2005も2008もオフィスも全員分とってるのかな?
なにはともあれ本当にありがとうございました
0473デフォルトの名無しさん
2010/04/17(土) 09:42:15うちの学校は大学のPCじゃないとvs使わせてもらえないぜ
0474デフォルトの名無しさん
2010/04/17(土) 10:35:43■ このスレッドは過去ログ倉庫に格納されています