[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/02 12:18 / Filesize : 258 KB / Number-of Response : 992
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.64【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 00:25:51 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.63【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1231499251/

【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

◆ソースのインデントについて
半角やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのが最も良いですが、
直接貼るのであれば、全角空白か に置換しておくことをお勧めします。


710 名前:デフォルトの名無しさん [2009/03/31(火) 11:03:04 ]
>>706
ありがとうございます。
Baseをテンプレートクラスにして、関数テンプレートを受けとり
コンストラクタの代わりにつかう、ということですか?
すげえややこしそうな気が、、、

711 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 12:26:30 ]
>>688
gcc,g++等をシェルスクリプトで作ったらコンパイルできました!
引数もシェルスクリプトに入れたらスッキリインストール完了しました。

ところが、ucLibにはn_procs()というglibの関数がないんですね。
mips用のboostできたのに、ここからコンパイルできないや…
どこまでひっかかるんだか…


712 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 12:38:57 ]
大抵はシングルトンをペチペチ叩く棒が多態になってれば十分だよね?

713 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 13:08:32 ]
>>707
どっちでもない。参照を使え。

714 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 13:09:36 ]
>>704
よく意味がわかんないから、ソース晒してくれたほうがいいと思うよ。

715 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 14:34:12 ]
std::string buf;
std::ifstream ifs;
ifs.exceptions(std::ios_base::failbit);

//前半
ifs.open("a.txt");
std::getline(ifs, buf, '\0');
ifs.close();
buf.clear();

//後半
ifs.open("b.txt");
std::getline(ifs, buf, '\0');
ifs.close();

これを実行すると例外std::ios_base::failureが投げられるんですけど、どうすればファイルを2つ読み込めますか?
ちなみに、前半か後半のどちらかをコメントアウトすれば例外は発生しません。

716 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 14:41:47 ]
>>715
前半と後半の間に ifs.clear() を入れればいいんだろうけど、そもそも
同じストリームオブジェクトで別々のファイルを開くというのが混乱の元の
ような気がする。

できれば別々のストリームオブジェクトを使うとか、前半と後半とを関数に
分けるとかするのがおすすめ。

717 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 14:47:06 ]
>>716
ありがとうございます。

718 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 15:25:57 ]
>>688
結局自力で解決できました。
boost::threadに相当するソースのget_nprocs(CPUの数)
を1にして、再度staticリンク指定したことで、
mips/ucLinuxのboostを作成でき、動作しました。



719 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 17:35:41 ]
質問なんですが、Effective C++を読んで
func(boost::scoped_ptr<X>(new X), boost::scoped_ptr<X>(new X));
としたらメモリリークの危険があるのは引数の実行順が不定だからであり、それは分かります
(前者のnew Xが実行の後、後者のnew Xが実行中そのコンストラクタで例外が出たときとか)

その本では、スマートポインタへnewしたポインタを渡すのは独立したステートメントでやろう、となっているのですが
func(boost::scoped_ptr<X>(new X));
とした場合も危険はあるのでしょうか
new X → shared_ptr → 引数呼び出しの順番は変わらないような気がするので


720 名前:デフォルトの名無しさん mailto:sage [2009/03/31(火) 18:39:42 ]
それなら問題ないよ。

721 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 04:19:11 ]
>>719
危険性があるかどうかって話なら >720 のとおり無いんだけど、
あとで func() に引数を足した場合に問題が発生する形に変更されてしまう
可能性が高いんだからそんなコードを書いていいってことには
ならないよ。

722 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:28:14 ]
// value.cpp
namespace { int value = 5; }
int getValue() { return ++value; }

// use.cpp
int useValue() {
  return 2 * getValue();
}

// test.cpp
namespace { int n = useValue(); }

というようなコードを書いた場合、test.cppでuseValueが呼び出されると、
getValueのコードも既に実在しているハズだからvalueも初期化済みということになりますか?

723 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 10:32:33 ]
初期化順をコントロールするならシングルトンにしとけと、ばっちゃが(ry

724 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 11:15:30 ]
>>722
value は静的な初期化で済むから、動的な初期化を必要とする n の初期化より先に
初期化されることは決まっている。

だからといって、そんな重箱の隅みたいな規則に依存するコードはおすすめできない。

725 名前:デフォルトの名無しさん [2009/04/01(水) 12:36:59 ]
ということは、関数の定義位置などとは関係なしに、変数の初期化順が決まるということですね。
そこら辺については未熟なので、勉強して理解できるようになるまでは、
何とか自分で扱えるような方法で考えてみます。ありがとうございました。

726 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 14:36:43 ]
>>166 を誰か考察して。

727 名前:デフォルトの名無しさん [2009/04/01(水) 15:30:21 ]
class File {
public:
const char* data() const;
private:
boost::shared_array<char> m_Data;
};
こういうクラスがあって、m_Dataがcharの配列で、そこにデータが入ってます。
データは画像(バイナリ)です。そのデータにアクセスする手段として、
const char* data() const;
というのを作ったんですが、これは参照にすべきなのでしょうか?それとも
boost::shared_ptr<const char> data() const;
とかのように、ここでもスマポを使うべきでしょうか?
よろしくお願いします。


728 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 18:47:12 ]
>>727
そもそも m_Data 全域へのアクセスを公開する必要があるのかどうか、だな。

getData(int index) でだめな理由はなんだろうか?
execute() で、内部にアルゴリズムを実装してはどうだろうか?
とか、考える方が先かも。




729 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 18:49:35 ]
>728には>727の書いていることが理解できないらしい。

・アクセス関数の戻り値の型をどうしたらいいか
というのが質問の趣旨ですぜ。

730 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 19:34:11 ]
ほうほうそれでそれで

731 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 19:37:54 ]
スマポへの参照がいいんじゃないかな。
生ポならそのままコピーしちゃうけど
スマポはクラスでおっきいから。

boost使ったことないからよくわからんけど

732 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 19:41:47 ]
>>727
template<typename T> const T data(const T&)const {return static_cast<const T>(m_data);}
変な受け皿用意されたらコンパイル時に蹴る。

733 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:36:19 ]
C言語の質問です。
以下のコードがbus errorで死ぬんですが、何が間違っているのですか?

#include <stdio.h>
#include <stdlib.h>

void f(char **p);
int main(void)
{
char *p;
f(&p);
free(*p);
return 0;
}
void f(char **p)
{
*p = (char *)malloc(2);
*p[1] = 0;
}

734 名前:733 mailto:sage [2009/04/01(水) 22:38:27 ]
あ、すみません。free(*p)はfree(p)の間違いです。
それと、どうやら*p[1] = 0;のところで死ぬようです。

735 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:42:41 ]
> それと、どうやら*p[1] = 0;のところで死ぬようです。
(*p)[1] = 0;


736 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:42:54 ]
mmalock( sizeof(char *) * 2 );

737 名前:736 mailto:sage [2009/04/01(水) 22:45:23 ]
あれ、俺の頭がおかしい

738 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 22:56:48 ]
ああ、疲れてんだな



739 名前:デフォルトの名無しさん mailto:sage [2009/04/01(水) 23:18:38 ]
>>735
演算子の優先順位の問題でしたか。ありがとうございます。

740 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:44:47 ]
>>166,726
未初期化のオブジェクト i に対してドット演算子を適用することにより、未定義動作。

741 名前:デフォルトの名無しさん [2009/04/02(木) 05:14:00 ]
int *p = new int;
int *p = new int(1);
int *p = new int(100);
これってどう違うんですか?
全部コンパイル出来てしまいます。



742 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 05:22:10 ]
>>741
int *p = new int; ← 不定値
int *p = new int(1); ← 1で初期化
int *p = new int(100); ← 100で初期化


743 名前:デフォルトの名無しさん [2009/04/02(木) 08:48:19 ]
>>742
ありがとうございました。

744 名前:デフォルトの名無しさん [2009/04/02(木) 14:51:45 ]
メモリリークを検出しようと思い
#define _CRTDBG_MAP_ALLOC

#include <stdlib.h>

#include <crtdbg.h>

とやったのですが__CrtSetDbgFlagを呼ぶと
1>Frame.obj : error LNK2019: 未解決の外部シンボル __CrtSetDbgFlag が関数 _wWinMain@16 で参照されました。
と出ます アドバイスください;;

745 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 14:56:26 ]
>>744
リリースビルドでやってないよね?

746 名前:744 [2009/04/02(木) 14:57:41 ]
デバッグでやってます

747 名前:744 [2009/04/02(木) 14:59:04 ]
c/c++ コード生成 ランタイムライブラリ
がマルチスレッド(/MT)ですけど関係ありますかね

748 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 15:06:57 ]
/MTdじゃないのか?



749 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 15:07:44 ]
/MT は、リリースビルド用・・・

750 名前:744 [2009/04/02(木) 15:10:18 ]
すみません・・・・
勉強になりました
ありがとうございます

751 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:31:23 ]
>発注額929億円のうち地元業者が受注したのは13%の122億円だった。

スポンサー以外を悪に仕立てたいマスコミと真に受ける馬鹿な国民が居る限りどうしようもないだろ。

752 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:33:24 ]
談合必要論か

753 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:36:38 ]
誤爆乙

754 名前:デフォルトの名無しさん [2009/04/02(木) 23:56:14 ]
shared_ptrのスマポをNULLで初期化できますか?


755 名前:デフォルトの名無しさん [2009/04/02(木) 23:57:21 ]
boost::shared_ptr<MyClass> m_MyClass =
boost::shared_ptr<MyClass>(reinterpret_cast<MyClass*>(0));
とやってできました。


756 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 00:03:38 ]
>>754-755
単にboost::shared_ptr<MyClass> m_MyClass;ではだめなの?

757 名前:デフォルトの名無しさん [2009/04/03(金) 00:19:11 ]
>>756
そうやって作成したスマポが、中身が入ってるかゼロなのか、NULLと比較しても
いいのですか?


758 名前:デフォルトの名無しさん [2009/04/03(金) 01:23:15 ]
すいません、初心者じゃない(つもり)なんですが、初心の質問させてください。
char data[100];
というデータがあるとき、
unsigned int func1(int i)
{
unsigned char* p = reinterpret_cast<unsigned char*>(data);
unsigned int r = p[i];
r |= p[i + 1] << 8;
r |= p[i + 2] << 16;
r |= p[i + 3] << 24;
return r;
}

unsigned int func2(int i)
{
unsigned int ret = data[i];
ret += data[i+1] << 8;
ret += data[i+2] << 16;
ret += data[i+3] << 24;
return ret;
}
この2つの関数の出力が違う場合があるのですが、(たとえばこうやって初期化した場合)
for (int i = 0; i < 100; ++i)
{
data[i] = 129;
}
どうしてでしょうか?




759 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:30:10 ]
>>757
デフォルトコンストラクタはこうなってる
shared_ptr(): px(0), pn() // never throws in 1.30+
{
}
px は内部に持つ生のポインタ

760 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 01:35:56 ]
>>758
129 が CHAR_MAX より大きい可能性が高いな。

761 名前:デフォルトの名無しさん [2009/04/03(金) 05:59:03 ]
ありがとうです。CHAR_MAXは127でした。
色々と理由を考えてたのですが、
(1) unsigned char a = 0xff;
(2) char a = 0xff;
cout << static_cast<int>(a<<8) << endl;
(1)のように書くと0xff00と出力され、
(2)のように書くと0xffffff00と出力されます。
unsigned charとcharではシフトの方法が違うんでしょうか?


762 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 06:23:45 ]
>>761
その場合は符号拡張の話だな
int にキャストした段階で違いが起こってる



763 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 07:45:19 ]
(1) unsigned char a = 0xff;
a = 0xff (255) を int 型にすると 0x000000ff (255)
※符号拡張の際、unsigned int 型を経由

(2) char a = 0xff;
a = 0xff (-1) を int 型にすると 0xffffffff (-1)

まあ大抵の場合、char 型で文字を扱うとき unsigned char にしといた方が
いちいちキャストしたりとか面倒なことをせずに済む

764 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 08:12:15 ]
>>761
そもそも CHAR_MAX が 127 なら char a = 0xff でも char a = 129 でも値は実装依存になる。
コンパイラやそのバージョンやコンパイルオプションの違いで変わってくるかもしれない。

一般的には、符号付 char の表現は 2 の補数で、収まらないビットは切り捨てられるだけ
だから、以下 >763

765 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 09:13:17 ]
char を unsigned int に型変換するときは
int に符号拡張してから unsigned int に変換される

char a に -1 (0xff) が入ってる場合は一旦 int 型 -1 (0xffffffff) に符号拡張され
unsigned int 4,294,967,295 (0xffffffff) に変換される

766 名前:デフォルトの名無しさん [2009/04/03(金) 10:56:18 ]
while(!(ret_cd = fetch_data())){
:
(フェッチしたレコードに関する処理部)
:
}
--------------------------
関数
int fetch_data(void)
{
:
(レコードデータ取得部)
:
return(0)
}
-------------------------
上記のようなプログラムで
while文の条件文の意味がよくわかりません。

全体の流れが「レコードが存在する間、処理を繰り返す」ような
処理ということはわかるのですが、
!(ret_cd=fetch_data())ときいている意味が
はっきりわからないのでどなたかお願いします。

767 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 11:03:57 ]
>>766
> !(ret_cd=fetch_data())ときいている意味
「レコードが存在」しているかどうか,という意味なんじゃない?

768 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 11:44:08 ]
fetch_data() は、レコードが存在すると 0、レコードが存在しないと 0 以外(たとえば -1)
を返すのだろう

レコードが存在する !(0) → 真となり、処理継続
レコードが存在しない !(-1) → 偽となり、処理終了

ぱっと見に分かりづらいから
while(!(ret_cd = fetch_data())){
  ↓
while((ret_cd = fetch_data()) == 0){
と書き換えてもいいかもしらん



769 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:02:29 ]
技術的な面以外で..
「〜をする意味」は有効な回答が付きづらい
概して「考えれば分かる」とか言われるのが落ち

質問の仕方が分からなくて,適当に取って着けたように「〜とはどういう意味でしょうか?」と聞いてしまうよりは,
必要な用語とか,質問に至るまでの状況とかをしっかり書いておくほうが無難

770 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:06:14 ]
単に、代入と検査を一緒にやってるだけだろ

771 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 12:29:49 ]
まあ>>768の通りだが、
おそらく、 ! が見た目通りに否定の意味に感じるので
直感的に理解しづらいということだろう。

!strcmp() などもそうだが、
==0 の意図で ! を使う人は結構居る。俺は極力 ==0 を使うが。
慣れればどうということは無いのだろうが、読むときに一瞬考えるので。

772 名前:デフォルトの名無しさん [2009/04/03(金) 14:14:14 ]
766です。
質問の仕方も曖昧ですみません。
レスいただきありがとうございます。
しかしまだ消化不足…といいますか、流れについて
いけてないです。現在修正中のプログラムが下記のような流れです。

@カーソルセット
EXEC SQL DECLARE cur_TEST CURSOR FOR
SELECT・・・
FROM・・・
WHERE・・・

EXEC SQL OPEN cur_TEST;

773 名前:デフォルトの名無しさん [2009/04/03(金) 14:15:05 ]
Aフェッチしながら項目セット
while(!(ret_cd=fetch_data())){

 /* 中間ファイル構造体の各項目に値セット */
 sprintf(・・・)
 sprintf(・・・)

 /* 中間ファイルに出力 */
 if(temp_write(Ofp, &out)){
 fclose ( Ofp );
 strcat( Errmsg, "temp_write:write_error" );
 AB_sjmsg( Errmsg );
 putenv( Errmsg );
 return(-1);
 }
}

中間ファイルクローズ
fclose(Ofp)

return(ret_cd);

774 名前:デフォルトの名無しさん [2009/04/03(金) 14:15:48 ]
(出力関数)
int temp_write( FILE *Ofp, struct TEST *dat )
{
int ret;

ret = fprintf(Ofp, "%-1.1s" , dat->AAA ) > -1;
ret = ret && fprintf(Ofp, "%-5.5s" , dat->BBB ) > -1;
ret = ret && fprintf(Ofp, "%-8.8s" , dat->CCC ) > -1;

return(ret ? 0 : -1);
}


775 名前:デフォルトの名無しさん [2009/04/03(金) 14:16:34 ]
実は今回このwhile(!(ret_cd=fetch_data()))の中で
もうひとつテーブルを読み、そこで抽出したレコード(複数件)が
なくなるまで繰り返す・・・という入れ子の処理を追加しないといけなくなりました。

単純にやり方を真似てfetch_data2という関数をつくり、
while(!(ret_cd=fetch_data()))の中で
while(!(ret_cd=fetch_data2()))と記述して、やろうとしてるのですが
エラーが出るため、今まで曖昧だったwhile(!(ret_cd=fetch_data()))部の
意味をはっきりさせようと思った次第です。

776 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 14:16:45 ]
で?

777 名前:デフォルトの名無しさん [2009/04/03(金) 15:04:11 ]
>>776
死ね

778 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:30:31 ]
で、どこまで理解できて、どこが理解できなくて、
どんなエラーが出るの?



779 名前:デフォルトの名無しさん [2009/04/03(金) 15:40:55 ]
途中で止まっており失礼しました。
わからない点は、!(ret_cd=fetch_data())の部分で、
ret_cdになんの値がセットされているかです。
int型で定義されてはいますが、これに値がセットされるところを
探しても見つけきれないので。
fetch_data関数は、「if(sqlca.splcode==1403)(抽出データが終了したら)
return(1)」という処理が入っているので、セットされる値の変わり目が
はっきりとわかります。
なんだかどうしようもない質問をしてしまったみたいで申し訳ないです。
もう少し詮索してみます。

780 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:42:44 ]
>>779
何の値、って、fetch_data() 関数の戻り値でしょ。

デバッガで一行ずつ追ってみれば? もしくは、printf とかで。

781 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 15:59:14 ]
>>779
ret_cd=fetch_data()
のところでret_cdには0か1がセットされる

782 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 17:23:37 ]
もうクビになっちゃえば

783 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 18:00:59 ]
>>766から>>779までの5時間を
本なりサイトなりを使った「基礎からのCの勉強」に充てていれば、
今頃は普通に理解できるようになってたと思うw

784 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 19:46:00 ]
C++言語でファイルのサイズや更新日時を取得する機能を持つクラスを、
#include <stdio.h>
FILE *fopen(const char *, const char *);
int fileno(FILE *);
int fclose(FILE *);
#include <sys\stat.h>
int fstat(int handle, struct stat *statbuf);
の関数や構造体を使って作ったものの、あまり良くないようだ。
大量のファイルを調べると、遅くてハードディスクへのアクセスが、かなりのものだ。
VBでFileLen()やFileDateTime()関数使ったプログラムのほうが速いし、ハードディスクに
ほとんどアクセスしなくて済んでる。
ファイルを開かなくて取得できんのかな。いい方法ないもんか。

785 名前:デフォルトの名無しさん [2009/04/03(金) 19:51:09 ]
まあそういうなよ。
おれたちも、766みたいな頃を経てきたわけだろ。
なんとなく、766はできないプログラマになりそうな気もするけど

786 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 19:54:54 ]
fstat の実装がどうなってるか知らないけど、GetFileSize() やら GetFileTime() やらを
使った方が速いのかもね。

787 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 19:57:55 ]
じゃあ _stat(const char *, struct _stat *) とか
FindFirstFile/FindNextFileでもつかっとけよ。
Windowsならディレクトリエントリだけの話になるから。

788 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:00:43 ]
そいや、ファイルハンドルが必要なやつは遅い、って話を聞いたことがあるな。
実際の値が必要なときは、これを使わざるを得ないんだけど。



789 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:21:42 ]
windowの関数を勉強しないとならんな
低レベルなプログラム書けるように勉強しないとならんな

790 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:32:15 ]
代入と評価を同時にしたら、読みにくくなるだろう。
横着やな。

791 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:51:09 ]
いやWinしらてとのAPIとか20年前に頭に入っていて当然なんだが

792 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:55:16 ]
日本語

793 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 20:56:58 ]
どこの方言か知らんけど意味わからん


794 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:00:19 ]
しらてと?

795 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:03:05 ]
すなみ
はにりいと
とんとかいも

796 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:07:14 ]
女の我侭は異常

おいら『パソコン買ったから遊びに来る?ゲームも出来るよ!』
彼女 『うん!』
おいら『ほら!(得意げに)』
彼女 『何これ?PC98じゃない!幻滅!』
おいら『え、だってみんなPC98が普通だし....』
彼女 『普通X68000でしょ?何このねずみ色の本体・・・最低。
    大体、ゲームだってショボイRPGやシミュレーションばかりでしょ?
    シューティングは?まともなシューティングはあるの?ないでしょ?』
おいら『...』
彼女 『大体、256色ってなに?しかもデフォルト16色のゲームまであるしw
    こんなので満足できるの?しょぼいエロゲならこの色数でいいのかも知れないけどさw
    スーファミじゃないんだからさ。分かるでしょ?』
おいら『...』
彼女 『うわー音が汚いwなにこれ?FM音源?だけなの?
    PCMは?MIDIは?使ってないの?』
おいら『....』
彼女 『動きが汚ーい!遅ーい!最低ー!
    スプライトもないのに多重スクロールなんて見栄張って馬鹿じゃないの?
    なにこのカクカクスクロールは?ファミコン以下じゃん!』
おいら 『....』
彼女 『しょうがないからうちでX68000で遊ぶ?
    出たなTwinBee!やファイナルファイトの2Pプレイとか楽しいよ?』
おいら『うん...』

以上実話です。


797 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:13:35 ]
1989年のWinしらてとて、386 2.1か。
WinしらてとてのAPIどころか、Winしらてとて自体知る人は限られてただろう。

798 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:15:58 ]
間違えた。
WinしらてとのAPIどころか、Winしらてと自体(以下略)



799 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 21:23:15 ]
うちにある最古のAPI本ですらMSC7/VC1.0のリファレンス(93年)だぞ
20年前ってどうよ

800 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 22:17:03 ]
>>796
悔しいがワラタ

801 名前:デフォルトの名無しさん [2009/04/03(金) 22:35:23 ]
女の我侭は異常

おいら『パソコン買ったから遊びに来る?ゲームも出来るよ!』
彼女 『うん!』
おいら『ちょっと待って!俺がゲームのためにこれ買ったと思ってんの?』
彼女 『うん!』
おいら『違うよ、世の中のコンピュータを上手く繋げるソフトを開発するためなんだ
よ(得意げに)』
彼女 『何それ?ニフティとかのこと?幻滅!』
おいら『いや、そんなんじゃないよ。これからは世界中のコンピュータが繋がる
ようになるんだよ。いま目の前にあるコンピュータと、たとえばアメリカのどこかに
あるコンピュータとが繋がって、互いに自由にやり取りができるようになるんだよ。』
彼女 『でも、そんなの電話料金が大変でしょ?何このねずみ色の本体・・・最低。
    大体、ゲームだってショボイRPGやシミュレーションばかりでしょ?
    シューティングは?まともなシューティングはあるの?ないでしょ?』
おいら『だからゲームなんか興味ないんだって。とりあえずフィンランドの人が作った
基本ソフトを移植してみようと思ってるんだ。そのあと、相手のコンピュータの中の
情報をもっと見やすいように表示できるソフトを開発して(注:頭の中には初期のネスケ
のようなソフトのイメージ)、、、あと沢山のコンピュータが繋がるようになってくる
と、外部からコンピュータを勝手に操作されないようにするソフトも需要があると思う
し、、』


802 名前:デフォルトの名無しさん [2009/04/03(金) 22:38:38 ]
彼女 『大体、256色ってなに?しかもデフォルト16色のゲームまであるしw
こんなので満足できるの?しょぼいエロゲならこの色数でいいのかも知れないけどさw
スーファミじゃないんだからさ。分かるでしょ?だいたいアメリカと日本って時差が
あるのよ、どうやって寝てる人とやり取りすんのよ?それに外部から操作なんて、画面
もみないでどうやって操作すんのよ?あんたおかしいんじゃない?』
おいら『...』
彼女 『うわー音が汚いwなにこれ?FM音源?だけなの?
    PCMは?MIDIは?使ってないの?』
おいら『...そうだ、C++のコンパイラからまず作らないとだめだな。。。.』
彼女 『動きが汚ーい!遅ーい!最低ー!
    スプライトもないのに多重スクロールなんて見栄張って馬鹿じゃないの?
    なにこのカクカクスクロールは?ファミコン以下じゃん!』
おいら 『...俺の話も聞いてくれよ。ほんとにいいアイデアなんだって!当たったらデカイよ?』
彼女 『しょうがないからうちでX68000で遊ぶ?
    出たなTwinBee!やファイナルファイトの2Pプレイとか楽しいよ?』
おいら『うん...(今まで誰もおいらの話をまともに聞いてくれないんだよな。どっか間違ってんのかな。。)』


803 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 22:39:50 ]
女の我侭は異常

おいら『パソコン買ったから遊びに来る?ゲームも出来るよ!』
おんな『シネよキモデブ。二度と話しかけんな』

804 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:40:26 ]
>803
ついでに此処へも書き込みしないでいいよ。

805 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:42:50 ]
コピペとしてはまだまだいけてないな
もっとブラッシュアップしてくれ

806 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 23:48:07 ]
ヘルプです。環境は「mingw32,gtk,fc10+rawhide,wine」
やりたいことは「stdin(fd=0)からCALLBACK関数」で、
順次データを読み出すだけなんですが、私の環境ではうまく動かないです。
止まったり、データがなくなったり。Fedoraの板でサワイでたんですが、
もう諦めモードにはいってきたTT;mingw32環境ある方、試してもらえないでしょうか?
よろしくお願いします。以下、サンプルソース
#include <unistd.h>
#include <stdio.h>
#include <gtk/gtk.h>
int main(int argc,char **argv);
gboolean inputcb(GIOChannel *source,GIOCondition condition,gpointer data);
GIOChannel *gio;
int main(int argc,char **argv){
gtk_set_locale();
gtk_init(&argc,&argv);
gio = g_io_channel_unix_new(0);
fprintf(stderr,"gio(%d,%d)\n",(int)gio,G_IO_IN);
g_io_add_watch(gio,G_IO_IN,(GIOFunc)inputcb,NULL);
gtk_main();
return 0;
}
gboolean inputcb(GIOChannel *source,GIOCondition condition,gpointer data){
char temp;
fprintf(stderr,"gio(%d,%d,%d)\n",(int)source,condition,(int)data);fflush(stderr);
read(0,&temp,1);
fprintf(stderr,"temp(%d)\n",temp);fflush(stderr);
return TRUE;
}

807 名前:デフォルトの名無しさん [2009/04/04(土) 11:28:40 ]
スマポで質問があります。

class MainClass;
class SubClass {
public:
void func2(MainClass* mc) {}
};
class MainClass {
public:
MainClass() : m_SubClass(new SubClass()) {}
~MainClass() {}
void func1() {
m_SubClass->func2(this); // このthisをスマポ(shared_ptr)にする方法はありますか?
}
private:
boost::shared_ptr<SubClass> m_SubClass;
};
int main() {
MainClass m;
m.func1();
return 0;
}

どうかよろしくお願いします。


808 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 11:31:52 ]
お前どう見てもスマポの使い方判ってないからやめとけ



809 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 11:39:33 ]
scoped_ptrでいいじゃん

810 名前:デフォルトの名無しさん [2009/04/04(土) 11:39:47 ]
>>808
どうしてですか?
private:でshared_ptrにしたからですか?
なんとか使えるようになりたいんです。
どうかお願いします。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<258KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef