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


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

はきだめC/C++下級者の質問箱 2



1 名前:デフォルトの名無しさん [2006/08/22(火) 09:21:31 ]
はきだめのスレへようこそ

ここは、C/C++に挫折し、それにもかかわらず、C/C++やらなければならない者達がたむろするスレです。
なお、質問する人は回答はあまり期待しないでください。


前スレ:はきだめC/C++下級者の質問箱
pc8.2ch.net/test/read.cgi/tech/1124256027/

802 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 15:29:34 ]
enumシンボルのことでなく、enum型変数ってことか?
>797とか。後は、例えばenum state conditionとか宣言しておけば
condition変数にはenum stateのシンボルしか入れない積りであることが明確になる。
コンパイラによっては、switch (condition)したときにシンボルの抜けがないかもチェックしてくれる。

803 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:07:53 ]
>>801
>>2-3

804 名前:デフォルトの名無しさん [2008/06/13(金) 21:40:38 ]
>>801
構造体の場合
typedef struct{
int a;
double b;
}HOGE;
みたいに変数宣言するんじゃなくHOGE型として宣言しといたほうが
typedefせずグローバルで変数宣言すると何かとふべんだから
typedefして使うところで変数宣言したほうが良い

enumなら下記みたいに宣言したりする。
typedef enum {FALSE = 0,TRUE = 1} BOOL;

805 名前:誰か一緒に考えてください [2008/06/13(金) 22:37:30 ]
もしプロトコルを開発するならどんなプロトコルにしますか??



806 名前:デフォルトの名無しさん [2008/06/13(金) 22:49:23 ]
>>805
漠然としすぎ

807 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:59:08 ]
>>805
>もしプロトコルを開発するならどんなプロトコルにしますか??
既存のプロトコルを利用できないか、再検討する。

808 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:32:10 ]
enum の話で考えたんだけど、
enum のすべてのメンバがそのスコープで有効になるのは勘弁してほしい。
メンバが多いと名前が衝突する可能性が高くなるし、
enum Style { None, A, B }; enum ExStyle { None, C, D };
みたいに同じ名前を使えないのは痛い。

仕方ないから、
namespace Style { enum Style { None, A, B }; } namespace ExStyle { enum ExStyle { None, C, D }; }
とか宣言して、
Style::Style style = Style::None; みたいに使ってる(非標準だけど VC++ は一応通してくれる)。

俺は本質的に enum の使い方を間違えてるんだろうか?
>>802 の言うように、特定の値しか入れない場合とかに使ってるんだが。

809 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:41:17 ]
>>808
class内に置く方法もあるぞ。


810 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 17:02:09 ]
>>809
なるほど。
class Style
{
public:
enum _Style { None, A, B };
private:
_Style value;

public:
Style() : value(None) { }
Style(_Style value) : value(value) { }
Style(const Style &style) : value(style.value) { }

bool operator ==(const Style &style) { return value == style.value; }
bool operator !=(const Style &style) { return value != style.value; }
operator int() { return (int)value; }
};
みたいにすれば Java, C# の列挙型と同じように扱えるわけか。switch にも入るし。
しかも #define とかうまく使えばこれを毎回書かなくても使い回せそうだ。
すばらしい一言アドバイスをありがとう。

・・・もしかして常識ですか?



811 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:48:18 ]
残念ながら

812 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:40:33 ]
あの、>>808ってどこが非標準なんですか?
名前空間と列挙型が同一の名前を持っていることでしょうか。

813 名前:808 mailto:sage [2008/06/16(月) 00:05:50 ]
>>812
VC++ では

>コンパイラの警告 (レベル 1) C4482
>エラー メッセージ
>非標準の拡張機能が使用されています: enum 'enum' が限定名で使用されます

>型の中の列挙型を参照するときは、列挙型の名前を指定する必要はありません。

だと。(型名)::(列挙子名) とするのは非標準らしい。

よく考えたら

#define enum_class(Type) \
class Type\
{\
private :\
int value;\
public :\
Type() : value(0) { }\
Type(int value) : value(value) { }\
operator int() const { return value; }\
operator int &() { return value; }\
enum Tag;\
};\
enum Type::Tag

とかすればほとんど C# ライクな列挙型もどきができるな。
これも非標準だし、列挙型みたいにする意義も薄れてるが。

814 名前:デフォルトの名無しさん [2008/06/16(月) 22:51:16 ]
C/C++のばかたれっ!!

あー すっきり!!

もやっとボール 100000000個くれ!!


815 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:53:38 ]
>>813
それは >808 の namespace を使った例に対して Style::Style::None とした場合の警告じゃないか?
Style::None なら最初の Style は namespace 名だから、その警告には該当しないだろ。

816 名前:デフォルトの名無しさん [2008/06/17(火) 11:02:38 ]
すまぬがちょいと質問。

下記のような構造体の中に構造体の中に構造体が入ってるような形にしてるんだが、
矢印の所でエラーで止まるんだ。
ちなみに「struct FGroup *fGroup」は空のまま。(初期化も何もせず)
ほんまに原因不明なんだぜ・・・
デバッグ出来ない環境だから、エラーの原因は不明なのよおおお

// h
struct FGroup {
char strKey[40];
};
struct AInfoGroup {
struct FGroup* srcfn[10];
};
struct MatchingResultGroup {
struct AInfoGroup* aig[6];
};

// cpp
struct MResultGroup *res;
〜中略 resに色々格納〜
struct AInfoGroup *aiGroup = res->aig[0];
for(int j = 0; j < 9; j++) {
  struct FGroup *fGroup = (*aiGroup).srcfn[j];
  if((*fGroup).strKey != NULL) {
    char tmp[40];
    strcpy(tmp, (*fGroup).strKey);  ←ココでエラー
  }
}

817 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:08:24 ]
>>816
エラーメッセージぐらい貼れ。
人に原因を調べて欲しいならソースを略すな。

↓これ見ただけでポインタをよく理解していないというのがわかる。
> if((*fGroup).strKey != NULL) {
入門サイトをよく読みなおしたほうがいいかもしれない。

818 名前:デフォルトの名無しさん [2008/06/17(火) 11:18:02 ]
エラーメッセージですか。

MinGW Developer Studio にてソース作成して
VC++にてDLL連携してしているので下記のようにしか表示されません。。。

ハンドルされていない例外はACMatch.exe(MSVCRT.DLL)にあります: 0xC0000005: Access Violation。
例外処理 (初回) は ACMatch.exe (MSVCRT.DLL) にあります: 0xC0000005: Access Violation。
プログラム 'ACMatch.exe' はコード 0 (0x0) で終了しました。

>if((*fGroup).strKey != NULL) {
これは策がもうなくて、ものは試しにでやってみたのを削除し忘れていました。。。

819 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:22:13 ]
>>816
>デバッグ出来ない環境だから、エラーの原因は不明なのよおおお
それでプログラミングしようってのが無謀。

820 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:03:38 ]
中略部分を晒すつもりが無いなら、終了。



821 名前:816 [2008/06/17(火) 12:53:33 ]
>>819
無謀なのは承知です。printfにてエラー発生箇所は分かるのですが
原因を特定する為のデバッグのみが出来ない状況ですので
それで納得し、何とかやっております。

>>820
記述通り「struct FGroup」はヘッダでの宣言のみにて
中略部分ではstruct FGroupへの格納どころか、
struct FGroupの要素のstrKeyが一切記述されていなかったので中略していました。
それでも晒した方がよろしいでしょうか?

822 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 12:59:16 ]
>>821
相談したいなら晒したほうがいい。

でも、 strKey に値が設定されて無いなら strcpy でぶっ飛ぶのはあたりまえ。

823 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:02:48 ]
>>815
ごめん、確かに (名前空間名)::(列挙子名) は問題ないわ
どっかで Style::Style::None みたいなことしたから警告でたんだろうな
>>808 そのものは非標準ではありませんでした。
(>>813 の「列挙型の前方宣言」は非標準のはず)

824 名前:816 mailto:sage [2008/06/17(火) 13:07:13 ]
C言語はjavaのように自分で初期化しなくても
初期化されいてるとどこかで読んだ記憶があったので、
strcpyにて複写しても大丈夫かと思ってたのですが、、、駄目だったのですか?

825 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:11:13 ]
>>824
記憶があるのならどこで読んだか思い出して内容を確認してくれ。
たぶん間違いだから、 Web 上の記事なら晒して欲しい。

C言語で自動初期化(ゼロ初期化)が入るのは非ローカル変数かローカルで static な変数のみ。

826 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:36:19 ]
printf分でデバッグウィンドウに情報出力とか可能ですか?



827 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 13:49:18 ]
OutputDebugString関数

828 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 00:49:36 ]
>>816
MResultGroupってMatchingResultGroupのtypedefか?
resに色々格納って言ってるけど、MResultGroupのインスタンスはちゃんと確保されてるのか?
fGroup自体が0(NULLはC++では使わない方が良い)だったりしないか?
今回のエラーには関係ないけど、j < 9 は合ってるのか?j < 10じゃねーか?

829 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:44:12 ]
数分前まではちゃんと動いてたのに、
急にこんなエラーを吐き出しました。
開発ソフト:BCC Developer
状況:コンパイラもデバッカもライブラリも誤字脱字共に無い、
エラーの内容:
> C:\borland\bcc55\Bin\make.exe -fDebug\dxtest.mak -B TARGET
MAKE Version 5.2 Copyright (c) 1987, 2000 Borland
bcc32 -W -3 -Od -w- -AT -pc -H- -k -b -v -y -L..\DxLib -DDEBUG -nDebug -I..\DxLib -c C:\puroguram\dxtest\test.cpp
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
c:\puroguram\dxtest\test.cpp:
bcc32 -W -3 -Od -w- -AT -pc -H- -k -b -v -y -L..\DxLib -DDEBUG -eDebug\dxtest.exe Debug\test.obj
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Fatal: Could not open Debug\dxtest.exe (program still running?)
** error 1 ** deleting Debug\dxtest.exe
Build End !! (Elapsed time 0:07.578)

書いた物:
#include "DxLib.h"
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode( TRUE ) ;//ウィンドウモードに変更する関数
if( DxLib_Init() == -1 ) return -1;//初期化処理する関数
LoadGraphScreen( 0 , 0 , "char.png" , TRUE ) ;//画像を表示する関数
WaitKey() ;//何か入力があるまで待つ関数
DxLib_End() ;//終了処理をする関数
return 0 ;
}

830 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:52:11 ]
>>829
エラーメッセージをよく読め。アドバイスしてくれてるじゃないか。



831 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:19:50 ]
>>830
もう一度よく調べてくる

832 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:35:52 ]
program still running?
program still running?
program still running?
program still running?
program still running?

833 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:51:11 ]
program still running? 訳(プログラム・動かない・見出し)

って意味であってる?

834 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:53:05 ]
つまらん

835 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:02:45 ]
ちゃんと辞書を引こう

836 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:06:46 ]
program still running? (訳:あなたは気が付いていないけれど プログラムは静かに動き続けているだろう。 私にその健気なプログラムを殺してしまえというのか?)

837 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 17:27:22 ]
はい、もちろん幸福です、親愛なるコンピュータ。

838 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 17:51:51 ]
c++で

for(int n=0;n<1;n++)
func();
for(n=0;n<1;n++)
func();

みたいなfor()の括弧内での変数の宣言のスコープって括弧内とそのforループ内に限定されますよね。
これって昔のバージョンだとforのブロック内でも有効だったりしました?(下のforでも有効だった?)

839 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 18:09:24 ]
>>838
C++ の仕様決定以前に先走り実装されたコンパイラはそうなってたりする。
MS VC++ 6.0 とか。

840 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 18:13:03 ]
C++でC#同様にインテリセンスを働かせる方法ってないですか?
いちいちALT→押すのが面倒です。



841 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 19:44:33 ]
何を使ってるかわからんもん

842 名前:デフォルトの名無しさん mailto:sage [2008/07/12(土) 20:20:19 ]
プリコンパイル済みヘッダを複数指定することは出来ますか?

843 名前:デフォルトの名無しさん [2008/07/16(水) 15:14:24 ]
#ifdef XXX


#endif
で囲まれた部分がコンパイルされたかをコンパイル時に簡単に知る方法を教えてください


844 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 15:15:06 ]
>>843
#ifdefと#endifの間に#errorと書く

845 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 15:23:22 ]
>>843
XXX_defined とか XXX_undefined ってグローバル変数を定義しておいて
オブジェクの中に該当シンボルが存在するか否かを調べる
もしくは
コンパイラにアセンブラソース吐かして眺めてみる
もしくは
出来上がったオブジェクトファイルの逆アセンブルリストを眺める


846 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 15:24:08 ]
>>845 すまんコンパイル時っての見てなかった。忘れてくれ


847 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 07:56:37 ]
#errorだとそこでコンパイルが終了してしまうかも。
実害のない警告が出るようにしておけばいい。たとえば
#ifdef XXX
#define XXX_DEFINED 0
#define XXX_DEFINED 1
...
#endif

848 名前:デフォルトの名無しさん mailto:sage [2008/07/18(金) 08:45:39 ]
うわー、意味ねーw

849 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:42:29 ]
std::tr1::unordered_mapを使わないといけないんですが現在の環境(gcc3)には入っていません。
これはどのライブラリに入っていますか?

850 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 16:49:10 ]
>>849
STLport かな?



851 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:27:51 ]
>>850
STLportにありました。ありがとうございます。

852 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:30:06 ]
>>849
std::map じゃなくて unordered_map を「使わないといけない」状況って、どんなの?

853 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 17:47:57 ]
>>852
ビルドしようとしたソフトがunordered_mapを使っていたからですよ。

854 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 18:42:45 ]
vc++のデバッグの仕方が分からないんだけど
c#のconsole.writelineみたいにvcのデバッガに出力する方法ってないの?
outputdebugstring()とかやっても出てこないんだけど。

855 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 20:52:35 ]
>>854
出てるよ、見てるとこが違うだけだ

856 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 08:24:23 ]
>>854
MFCを使ってるならTRACEマクロ
ATLを使ってるならATLTRACEマクロ
WIN32APIだけならOutputDebugStringをじかに使う。
C++・CLIならC#と同じのが使える。

857 名前:デフォルトの名無しさん [2008/07/24(木) 17:21:59 ]
最近勉強始めた初心者です。すっげー初歩の質問で悪いんですけど、
関数の宣言のとこで、引き値とか戻り値とかそれ自体の説明は
分かるんですけど、その使い分けの所がいまいちピンとこなくて。

例えばint main(void)とintとかその辺自体は分かるんですけど、
返り値が無いならvoidとかの説明で、じゃあなんで
このときはvoid使わないんだとか、自分が一からプログラム組むと仮定して考えた場合、
その辺の区分けと言うか、使い分けが明瞭に納得がいかなくて。
いろんな解説読み漁ったんですけど、はっきり分かんなくて。

858 名前:デフォルトの名無しさん mailto:sage [2008/07/24(木) 17:57:48 ]
>>857
引数は渡すもの、戻り値は返すもの。
渡すパラメータがなければ引数はvoid、返す結果がなければ戻り値はvoid、両方何もなければ両方void。

自分で1からプログラムを組む場合、関数がどのようなパラメータを取ってどのような結果を返すかは、自分の都合と独断と偏見で勝手に決める。
例えば・・・ファイルに文字列を書き込む関数を作ることにしたとすると、その関数にはたぶんファイル名と書き込む文字列を指定する必要があるだろう。
ファイル名が固定なら、書き込む文字列だけ指定すればいいかもしれない。
結果は特に何も要らないかもしれないし、書き込みに成功したか失敗したか知りたいかもしれない。
それは自分が (別の人が使う関数なら、その人が) どういった機能を必要としているかによって決める。

フルバージョンならたぶんこんな感じ
int write_text_to_file(const char *filename, const char *text);
成功/失敗といった結果は別に要らないと思ったなら、戻り値はvoidにして
void write_text_to_file(const char *filename, const char *text);
ファイル名は固定なので特に指定する必要はないと考えるなら、その部分は削って
void write_text_to_file(const char *text);
実は文字列も固定なんだ、って場合は、何も指定するものがないので
void write_text_to_file(void);

859 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 01:22:48 ]
自分は引数voidの関数は滅多に作らないな。
グローバル変数使えば引数で渡さなくてもいいけど、
何をする関数なのかわかりにくくなるし。

860 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 02:23:01 ]
渡す情報が要らないからvoidなんですよ。



861 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 08:54:19 ]
そうそう、time()なんて愚の骨頂ですよ。

862 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 09:38:10 ]
渡すものがなかったら、かわいい君に寄せる想いを僕調の曲にして渡せばいいじゃない。


863 名前:デフォルトの名無しさん mailto:sage [2008/07/26(土) 11:15:13 ]
>>862
華麗にスルーされる訳ですね。わかります。

864 名前:デフォルトの名無しさん mailto:sage [2008/07/27(日) 12:19:58 ]
cin を使った入力ってメモリからあふれる位いっぱい入力した場合
バッファアンダーランとかになったりするの?

865 名前:デフォルトの名無しさん mailto:sage [2008/07/28(月) 12:47:37 ]
なりません。そもそも、バッファアンダーランなんて現象自体、データストレージに関するものです。

866 名前:デフォルトの名無しさん [2008/08/03(日) 13:30:11 ]
Access Violationが出ているのですが、
 これはそのプロセスが確保していないメモリ空間から読み込もうと
したときに出るのですが?

867 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 13:38:36 ]
確保してない領域に書き込もうとしたときも出るし
確保されてても読み取り専用領域に書き込もうとしたときも出る

868 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 17:05:21 ]
>>866
そんなもん、環境によって違います。そもそも出ない環境だってたくさんあります。

869 名前:デフォルトの名無しさん mailto:sage [2008/08/03(日) 17:07:36 ]
いつのまにかスタック領域がプログラムやデータを侵蝕して暴走を引き起こしていたあの頃を思い出します。
comファイルって、プログラムと同一セグメント内にスタック領域を確保するから、
プログラムとデータが大きいとすぐに侵蝕しちゃうんだよね。

870 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 10:51:08 ]
gccを使いたいんだけど、どれをインストールすればいいの?
日本語バージョンてないの?



871 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 10:58:38 ]
>>870
Linuxならデフォルトで入ってる
WindowsならMinGWをインストールする
Macなら知らない

872 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 10:59:39 ]
BSD/Solarisなどの*nix系なら標準で入ってる可能性が高い。

873 名前:870 mailto:sage [2008/08/04(月) 11:04:59 ]
レスどうもです。
OSを書き忘れてましたが、WinXPです。
GCCにはいろいろ亜種があるということかな?
どれが標準てこともないの?

874 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 11:13:40 ]
>>873
MinGWはあくまでgccを簡単にインストールするためのパッケージ。
gccであることに変わりはない。
gccのバージョン違いはたくさんあるね。3.4とか4.1とか。

875 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 11:18:14 ]
>>873
擬似Unix環境ごとインストールするならcygwinという選択もある。

876 名前:870 mailto:sage [2008/08/04(月) 11:38:46 ]
重ね重ね、どうもです。
MSYSなるものもありますね。
プログラミング目的ならMinGWとMSYSでいいのかな。

877 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 11:50:12 ]
これでMinGWとMSYSで作るものが単純なテキスト処理だったり数値処理だったりしたら大笑いだな。

878 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 13:13:21 ]
MSYSって日本語表示できないんだけど、どうにかならない?

879 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 16:36:01 ]
rxvt の引数を変えて、日本語フォントにすればいいのでは

880 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 20:48:53 ]
>>879
さんくす、やってみるよ。



881 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 21:21:24 ]
経過報告
MSゴシックだとうまく表示されなかった。
ぐぐってみてTerminal-14にしてみたけど、やっぱりうまく表示されなかた。

試したコマンド: ls /c/winnt
MSYS 1.0.10
rxvt 2.7.2

export LANG=ja_JP.Shift_jis とかやってもダメだった。
どうも根本的に何かを間違えてるのかなあ。
ま、いっか。

882 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 22:27:35 ]
>>881
-fn "MS ゴシック"-12

ls --show-control-chars /c/winnt

確認したら、LF改行コードのファイル~/.profile に
alias ls='ls --show-control-chars' を追加しておく

883 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 12:56:29 ]
>>882
ありがとう。
でも、俺の環境じゃ
ls --show-control-chars /c/winnt だと半角カナ混じりで化けた。

こんな具合いに: "ほげほげ.txt" → "・ル・ー・・ル・ー・.txt"

御協力感謝。


884 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 01:47:00 ]
rxvt使わないで、コマンドプロンプト上でmsys使うと良いよ。
cygtermみたいなのがmsysにあるともっといいんだけど。

885 名前:デフォルトの名無しさん mailto:sage [2008/08/06(水) 02:30:38 ]
OS:Windows、コンパイラー:VC2005です。
CPUのクロック数を変化させる、もっとも簡単なコードを教えてください。

886 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:18:33 ]
int main(void){ while(1) {} }

対応CPUならこれでクロック上がる

887 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 00:59:32 ]
>>886
そうか、その手があったか!

888 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:27:45 ]
感動した

889 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 09:33:46 ]
クロックが上がるっつーか、CPUが音を上げそうだな。

890 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:49:00 ]
最近のだとスレッドで何本かまわさないとね



891 名前:デフォルトの名無しさん mailto:sage [2008/08/08(金) 12:53:51 ]
最近のは他のコアが休んでるときはクロックあがるんだぜ

892 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 00:58:43 ]
なるほど!コロンブスのたまごですね。
クロックダウンのコード聞いたのですが・・・

893 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 03:01:06 ]
#include <stdio.h>
void main(void) { char i[256]; FILE* fp=fopen("C:\con\con","rb"); fread(&i, 1, 256, fp); fclose(fp); }

対応OSならこれでクロック下がる

894 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:27:50 ]
C++で
char* を バイト配列に変換するにはどうすればよいのでしょうか。
ちなみにchar*の中身は日本語文字列です。

895 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 21:44:54 ]
char*の中身はすでにバイト配列です
変換する必要はありません

896 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 22:46:39 ]
>>895
char配列とbyte配列はちがうような、、、

897 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 22:52:54 ]
charは1バイトの整数
charの配列は1バイト整数の配列すなわちバイト配列
何が違うというのか

898 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 22:54:40 ]
byteなんて型はないから
大概charをtypedefしたものなんじゃない?

899 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 23:12:14 ]
一応言っておくが、もしC#やJavaからやってきたというのなら、
それらの言語のcharに相当するC++の型はwchar_tだ。
wchar_t配列と(それらの言語でのバイト配列に相当する)char配列との変換には
mbstowcs, wcstombs関数がまあまあ手軽に使える。
もちろんwchar_tの入出力で間に変換が噛まされるのはC++でも同じだ。

900 名前:デフォルトの名無しさん [2008/08/13(水) 23:56:04 ]
C言語のマクロについて質問です、詳しい方助言ください。

__mulk(4) と記述することで、
"movl 4(%ebx),%eax \n"
という文字列( " "も含む)を吐き出すマクロを作りたいのですが、
次のように考えた結果これはうまくいきませんでした。

#define LTR(STR) #STR
#define COMMA ,

#define __mulk(A) LTR(movl A ## (%ebx) ## COMMA ## %%eax \n)

カンマをそのまま書いてしまうとマクロ__mulkが2つの引数を持っていると解釈されてしまうようです。

この回避方法はあるのでしょうか?環境はLinux,gcc 4.3.1です。



901 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 00:10:54 ]
#define __mulk(A) "movl " #A "(%ebx),%eax \n"

902 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 01:19:16 ]
>>901
なるほど・・・すばらしい。
どうもありがとうございました。






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

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

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