スレ立てるまでもない ..
[2ch|▼Menu]
39:デフォルトの名無しさん
08/02/15 00:43:14
ほれ、わかりやすそうなのあったから貼っといてやるよ。
俺が文字だけで説明するよりは遥かにわかり易いだろうから勉強しときなさい。

URLリンク(www9.plala.or.jp)

(1)変数とアドレス
ポインタについて理解するには「アドレス」とは何かをまず理解してください。
略)

(2)ポインタとは
ポインタとはアドレス変数、つまり変数のアドレスを記憶する変数のことです。



40:デフォルトの名無しさん
08/02/15 00:45:07
>>38
少なくとも、「アドレスを格納するバッファ」では説明が足りてないな。
つーか、わかってないなら他人任せにせず勉強してきたら?

41:デフォルトの名無しさん
08/02/15 00:46:05
>>39
ほほぉ、変数以外のもののアドレスを記憶するとポインタじゃなくなるのか。

42:デフォルトの名無しさん
08/02/15 00:48:58
だから、>39は地雷だから読んじゃダメだってば。

43:デフォルトの名無しさん
08/02/15 00:49:05
>>41
いまさらあげ足取り?w
31のどこがどう間違ってるのか説明してみなよw


44:デフォルトの名無しさん
08/02/15 00:49:57
>>31
文字列をやり取りするときchar**をやりとりするか?
単にchar*やconst char*をやり取りするだろ。
FILE**ではなくFILE*を使うことも、それと同じようなもの。

45:デフォルトの名無しさん
08/02/15 00:50:02
>>40
>つーか、わかってないなら他人任せにせず勉強してきたら?
つーか、説明できないなら噛み付くなよw


46:19
08/02/15 00:50:34
みんな俺のことで喧嘩しないで!!!

47:デフォルトの名無しさん
08/02/15 00:52:07
喧嘩も何も、判ってないのに教えたがりな>31が一人で暴れているんだろ。

48:デフォルトの名無しさん
08/02/15 00:52:41
>>19
20の指摘する通り*FILEが意味不明。K&Rスタイルでもないし。
やるならvoid function(FILE *f)のような書き方のはず。
関数宣言の書き方の復習しよう。

以上で用済み。

49:デフォルトの名無しさん
08/02/15 00:53:07
>>44
は?
そんなの使い方によるよw
char **を使うことだってあるっての。

ってか文字列は配列だから、char*に文字列のアドレスを渡すのと、
FILE*を扱うのとは違うわですが?
ポインタっての全然わかってないみたいだな。


50:19
08/02/15 00:53:23
FILEディスクリプタを扱うポインタは他のポインタと比べて少々特殊である。でOK?

51:19
08/02/15 00:53:53
>>48
ただのタイプミスです(><)

52:デフォルトの名無しさん
08/02/15 00:55:23
>>47
説明できもしないやつが暴れてるんだろw
間違ってるなら間違ってるで指摘すりゃいいだけの話。
指摘もできない説明もできないのに「おまえわかってない」とかいわれてもねぇw



53:デフォルトの名無しさん
08/02/15 00:55:47
>>50
特殊じゃなくて普通のポインタといっしょだっての。


54:デフォルトの名無しさん
08/02/15 00:57:26
>>49
もちろんFILE**を使う場合もある。それはどんなときかと言えば24に書いたとおり。
実用性0だけど例えばこんな感じ。
void my_fopen(FILE **f, char const *file, char const *mode)
{
*f = fopen(file, mode);
}

55:デフォルトの名無しさん
08/02/15 00:58:58
>>50
ポイント先が明示的に存在していない可能性があると言う点で、FILE * は特殊。
ポインタ変数のことをバッファなんて言い方してしまっている>31にとってはどうかしらないけれど。

56:19
08/02/15 00:59:06
>>53
一緒なの?



FILE *fp;

fp=fopen("honya", "r");
function(fp);



function(FILE *fp) {


}


main内と関数内でfpを表示した場合は一緒だったけど、*fpの値は10進で160違ってた・・・

57:デフォルトの名無しさん
08/02/15 01:00:01
たとえば一番よく使う文字列を例えるなら、
FILE *fp[10];

fp[0] = fopen;
と使うなら、
function(fp)

-----
function(FILE *fp)
{
fp
 や
(fp+0)
 や
(fp+1)
って使い方ができる。
}

charポインタしか使ったことない奴はポインタのこと理解できてないんだよ。


58:デフォルトの名無しさん
08/02/15 01:01:41
>>56
FILE*をデリファレンスしてはいけません。
そこにファイルはありません。
眠ってなんかいません。

59:デフォルトの名無しさん
08/02/15 01:02:23
>>54
だから、fopenは上位関数でやってるだろっての。

普通に>>19のコードを見れば、
functionをフープ内で何度も使うコードだと思わないか?

上位関数でfopen/fcloseして、readを下位関数でやるんだろ。
おまえ、ループ内で下位関数にファイル操作させたことないのか?


60:デフォルトの名無しさん
08/02/15 01:02:29
>>57
できない。Cならたぶんコンパイラ警告、C++なら絶対コンパイルエラー。

61:デフォルトの名無しさん
08/02/15 01:04:35
>>60
やってみろw


62:デフォルトの名無しさん
08/02/15 01:05:04
>>59
落ち着け。顔が真っ赤だぞ。
落ち着いたら、rとfの打ち間違いに注意するんだ。

63:デフォルトの名無しさん
08/02/15 01:05:55
あ、もしかしてまた揚げ足とりか。

function(FILE *fp)
{
fp
 や
*(fp+0)
 や
*(fp+1)
って使い方ができる。
}


64:デフォルトの名無しさん
08/02/15 01:07:40
いいえ。

65:デフォルトの名無しさん
08/02/15 01:08:09
>>19
もういいから、まだいるなら騙されたと思って>>21のコードで試してみな。


66:19
08/02/15 01:10:03
はーい

67:54
08/02/15 01:13:45
>>61>>>63
function(fp)と呼び出す部分で、型が合わないのでエラーや警告になるはずだ。
実引数はFILE *[10](FILE**への変換前)、仮引数はFILE*。

functionの仮引数のfpはFILE *fp[]やFILE **fpならいい。
この用法でのFILE**は忘れていた、すまん。

68:デフォルトの名無しさん
08/02/15 01:16:24
そもそも、>19は一体全体どんなコードを実行してどうだったと言いたいんだ?
中途半端なコードを載せるから>31が嬉嬉としてごみを垂れ流す羽目になるんだ。

69:デフォルトの名無しさん
08/02/15 01:17:08
ちょっと長いんですが、プログラムに詳しく分かる方いましたらお力貸してくださいまし。。

以下に掲げたおこずかい帳プログラムの説明を書きなさい。ただし、書き方は次の例
を参考にすること。

<form name=f>
<input type=text name=i value="">
<input type=button value="偶奇判定" onClick="check()">
</form>
<script>
function chech(){
var a=Number(document.f.i.value);
a=a+1;
if(evenp(a)) alert("偶数");
else alert("奇数");
}
function evenp(a){return a%2==0}
</script>



70:デフォルトの名無しさん
08/02/15 01:17:40
つづき

【説明例】
formタグとinputタグによって、画面にテキスト文字表示窓と偶奇判定用のボタンを
表示。この際、ボタンをクリックした時、関数check()を呼び出すように設定する。

関数checkは、テキスト文字窓から入力された値(document.f.i.value)を関数Number
によって数値に変換し、これを変数aに代入する。ついで、aの値を1増やし、関数
evenpによって変数aの値が偶数か、奇数か判別し、偶数の時は"偶数"、奇数の時は"
奇数"とalertウィンドウに表示する。

関数evenpは、与えられた値(a)が偶数かどうか判別(aを2で割った余りが0かどうかで
判定)し、結果(trueかfalse)を返す。

------------------------


71:デフォルトの名無しさん
08/02/15 01:18:39
抽象化して考えろよ・・・なんのために不完全型になってるんだよ

72:つづき
08/02/15 01:18:40
<h3>おこずかい帳</h3>
<form name=kozukai>
品物<input type=text value="" name=sinamono>
値段<input type=text value="" name=nedan>
<input type=button value="記録" onClick="kiroku()">
<input type=button value="並び替え" onClick="sort()">
<input type=button value="修正" onClick="teisei()">
<input type=button value="削除" onClick="sakujo()">
</form>
<div id="area"></div>
<script>
var Table=new Array(); // {good: price:}
var count=0; // 登録される品物の個数
function kiroku(){
var good=document.kozukai.sinamono, price=document.kozukai.nedan, pos;
if((pos=aruQ(good.value))==-1){
Table[count]={good: good.value, price: Number(price.value)};
count=count+1;
}
else{
Table[pos].price=Table[pos].price+Number(price.value);
}
good.value="";
price.value="";
display();
}

73:デフォルトの名無しさん
08/02/15 01:19:25
<h3>おこずかい帳</h3>
<form name=kozukai>
品物<input type=text value="" name=sinamono>
値段<input type=text value="" name=nedan>
<input type=button value="記録" onClick="kiroku()">
<input type=button value="並び替え" onClick="sort()">
<input type=button value="修正" onClick="teisei()">
<input type=button value="削除" onClick="sakujo()">
</form>
<div id="area"></div>
<script>
var Table=new Array(); // {good: price:}
var count=0; // 登録される品物の個数
function kiroku(){
var good=document.kozukai.sinamono, price=document.kozukai.nedan, pos;
if((pos=aruQ(good.value))==-1){
Table[count]={good: good.value, price: Number(price.value)};
count=count+1;
}
else{
Table[pos].price=Table[pos].price+Number(price.value);
}
good.value="";
price.value="";
display();
}

74:デフォルトの名無しさん
08/02/15 01:20:23
function aruQ(g){
var i;
for(i=0; i<Table.length; i=i+1){
if(g==Table[i].good) return i;
}
return -1;
}

function sort(){
bsort(Table, lessp);
display();
}

function bsort(a,cmp){
var i,j,x,size=a.length;
for (i=0; i < size; i=i+1){
for (j=size-1; j > i; j=j-1){
if (cmp(a[j],a[j-1])){
x = a[j-1];a[j-1] = a[j]; a[j] = x;
}
}
}}

function lessp(a,b){return a.price<b.price; }
</script>


わかる方教えてください。。

75:デフォルトの名無しさん
08/02/15 01:20:41
>>69
・formタグにおいて、アクションが指定されていません。
・scriptタグにおいて、処理系の宣言がされていません。
・inputタグにおいて、関数check()が見つかりません。

つーか、鼬害だろ。

76:デフォルトの名無しさん
08/02/15 01:27:40
VB.NET2003のフリーソフトを探してるんだが、もう無いのかな?
2003 Express editionみたいなのがあれば嬉しいんだが。

77:デフォルトの名無しさん
08/02/15 01:34:11
76だけど、俺の言葉分かる?
日本語になってる?

78:デフォルトの名無しさん
08/02/15 01:38:55
>>76
昔からなかったと思う。
ただ.NET Framework 1.1にはVB.NETのコンパイラが入っている。

79:デフォルトの名無しさん
08/02/15 01:42:31
>>77
「VB.net2003相当のフリー版は無いのか?」って質問だろ?
大丈夫、一応日本語になっている。

80:デフォルトの名無しさん
08/02/15 01:48:15
>>78
マジか。ってことはFramework 1.1を使うには.NETのコンパイラを買わないとダメなのか?

81:デフォルトの名無しさん
08/02/15 01:49:51
>>79 
そっか。ありがとう

82:デフォルトの名無しさん
08/02/15 02:03:13
>>80 Framework は無料で配布されてるだろ?

83:デフォルトの名無しさん
08/02/15 02:04:43
>>80
>>78が言っているのはNET Framework 1.1 SDKのことじゃないのか?
それなら無料で入手できるはず。

すべてコマンドプロンプトで作業しなければならないので不便なことは確かだけど、
それでも .NET Framework 1.1 のアプリを開発することはできるはず。

84:デフォルトの名無しさん
08/02/15 02:07:27
いや、SDKではなくランタイムとかの方で十分。
%FrameworkDir%\%FrameworkVersion%
(1.1なら%WINDIR%\Microsoft.NET\Framework\v1.1.4322)にvbc.exeがころがっている。

85:デフォルトの名無しさん
08/02/15 02:09:06
え、そうなの?
ぜんぜん知らなかった。


86:デフォルトの名無しさん
08/02/15 02:49:33
>>82-84
正直、VB.NET Framework 1.1で動作すれば良いんだ。
おれもNET Framework 1.1はさっきインストールしたんだけど。

87:デフォルトの名無しさん
08/02/15 03:25:52
86だがこれで2003として使えるのかな?
URLリンク(www.microsoft.com)

88:デフォルトの名無しさん
08/02/15 03:27:02
>>84
そうなのかと思って見てみたら、そこにはほとんど何もなくて、v2の方にしかvbc.exeがなかったよ。

89:デフォルトの名無しさん
08/02/15 03:38:28
流れ無視で申し訳ないのですが、質問です。
サイトやブログなどのHTMLに書いたコードにインデントがついていたり
予約語などに色がついていたりして見やすくなっているのをよく見かけるのですが
あれはどうやっているのでしょうか?専用のツールなどがあるのでしょうか?
検索しようにも言葉がうまく出なかったので質問させていただきました。
よろしくお願いします。

90:デフォルトの名無しさん
08/02/15 03:48:23
シンタックスカラーリングとか構文の色表示とか構文カラーとかシンタックスハイライトとか
それにhtmlエディタとかで検索してみれば?

91:デフォルトの名無しさん
08/02/15 03:49:26
firefoxならただ単にソースを表示すればそうなる。
ただインデントは付かず、カラーリングされるだけ。

92:デフォルトの名無しさん
08/02/15 03:51:24
簡単な物なら bison/flex で作ると
いい練習問題になるよ。

93:デフォルトの名無しさん
08/02/15 03:52:11
あ、すまん
ウエブ上で表示しているやつか
あれはブログでそういう機能を用意されているところもあったり
構文解析してタグを入れたものを出力してくれるツールがあったりいろいろ
とりあえずシンタックスカラーとかで検索してみれば?

94:デフォルトの名無しさん
08/02/15 03:55:31
こんなにレスもらえるとは思ってませんでした。
ありがとうございました。

95:デフォルトの名無しさん
08/02/15 04:17:03
>>88
.NET Framework 1.1をインストールしていないだけでは?
試しに.NET 1.1のインストーラをダウンロードしてやってみな

96:デフォルトの名無しさん
08/02/15 09:16:59
>>95
その通りだった。
確認したPCは1.1を入れてたものに2をさらに入れていたと思い込んでいたが、実は2しかインストールしていなかった。

97:デフォルトの名無しさん
08/02/15 10:18:03
今日patch童貞卒業を目論む者です
あるライブラッリをconfigure && makeしようと思いソースを落としたのですが
hoge-20060909-patch.sh.bz2 hoge-3.cygwin.patch*
hoge-20060916.patch.gz   hoge-3.extra.patch*
hoge-20060923.patch.gz   hoge-3.src.patch*
hoge-20060930.patch.gz   hoge.tar.gz
hoge-20061007.patch.gz
hoge-20061014.patch.gz
hoge-20061021.patch.gz
hoge-20061028.patch.gz
hoge-20061104.patch.gz
hoge.cygport
みたいなかんじで*.patchや意味ありげな拡張子なものが
いっぱいあってとまっどっています(tar.gzが本体っていうのは分かります(^^;
日付順にあてるのでしょうか? 最新のものだけをあてるばよいのでしょうか?


98:デフォルトの名無しさん
08/02/15 10:26:40
readmeに記述がなければ日付順に全部

99:デフォルトの名無しさん
08/02/15 10:31:02
違ってたらエラーでる

100:デフォルトの名無しさん
08/02/15 13:04:36
int uruu(int y)
{
// 閏年かどうかの判定
return y % 4 == 0 && y % 100 != 0 || y % 400 == 0;
}

このreturnは何を返しているの教えてください
お願いします

101:デフォルトの名無しさん
08/02/15 13:08:49
条件判定式の値は、条件が真なら1、偽なら0になる。この場合、
(yが4の倍数 かつ yが100の倍数でない) または (yが400の倍数)
が真なら1、偽なら0が返される。
西暦が4の倍数が基本的に閏年だけど、100の倍数は閏年にならない。
ただし400の倍数は閏年、というのを判定している。

102:デフォルトの名無しさん
08/02/15 13:13:01
>>100
y % 4 == 0 && y % 100 != 0 || y % 400 == 0 を返している・・・じゃだめか?

if ( uruu(2008) ) { ... } のように使うと思えば、わかりそうな気がするけど

103:デフォルトの名無しさん
08/02/15 13:25:47
>>101
>真なら1、偽なら0が返される

自分は正確なことは知らないんだけど、真の時1 ってのは言語仕様で決まってるの?

104:デフォルトの名無しさん
08/02/15 13:27:31
決まってる

105:デフォルトの名無しさん
08/02/15 13:31:47
論理/関係演算子の返す値はそう決まっている。

ちなみに BASIC 系だと真は -1 だから、
VB で慣れてる人は注意な。

106:デフォルトの名無しさん
08/02/15 13:42:53
>>104 >>105
どうもありがと。

107:デフォルトの名無しさん
08/02/15 13:52:18
そうなのかと思った後、一応気になって
URLリンク(www.jisc.go.jp)
で確認したけど、このサイト異様に遅いし、OperaだとなぜかPDF開けないし、PDFは閲覧だけでファイル保存できないし、
なぜかPDFも検索ができないし最悪。

日本のソフトが育たない理由が何となくわかる。

108:デフォルトの名無しさん
08/02/15 13:58:24
買っても検索できないらしいぜ・・・。

109:100
08/02/15 14:05:17
>>101>>102
遅くなってすみません
真なら1、偽なら0・・・なるほどぉ、そういうことだったんですね
ありがとうございました

110:デフォルトの名無しさん
08/02/15 14:23:06
>107
保存できたよ

111:デフォルトの名無しさん
08/02/15 14:28:34
変数名・メソッド名・クラス名などの「名前の付け方」は、ある程度のお約束というか慣習があると思うのですが
そういうのはどうやって学んだらいいんでしょうか?
本とか読みまくってるうちに自然と身に付くものなんですか?

112:デフォルトの名無しさん
08/02/15 14:36:02
言語によって違うけど、例えばJavaの場合は言語仕様書に書いてある
C/C++ではいろんな方式が乱立してて特にこれと決まったものはない

113:デフォルトの名無しさん
08/02/15 14:38:22
例えばC言語だったら標準関数を参考にする

114:デフォルトの名無しさん
08/02/15 14:39:54
独学するなら自分の中で一定のポリシーを持ってればOK
Javaの規約は読んでおいたほうがいいね

いいソフトやいいソースと呼ばれるものを読んでいると勘所が掴めるかも

115:111
08/02/15 15:06:30
ありがとうございます。申し遅れましたがC#がメインです。
一応自分の中でポリシーを持ってるので、一人でやる分には問題ないのですけど。

グループで共同作業をする場合とかはこの辺ちゃんと考えないと大変ですよね。
最初に記法というかポリシーみたいのを全部決めておくんでしょうか?

116:デフォルトの名無しさん
08/02/15 15:08:41
プロジェクトで決まってることもある。
特定のライブラリに大部分依存するプロダクトであれば、ライブラリに合わせたりとか。

117:デフォルトの名無しさん
08/02/15 15:10:02
本当に最初のうちはあまり決めないほうがいいかもしれない。
どこか途中で決めることになるかもしれないけど。

118:デフォルトの名無しさん
08/02/15 15:20:24
C#ならマイクロソフトのガイドラインを参考にするのもいい

119:111
08/02/15 15:25:07
そうですね。色々な本や資料を見ながら常識的なポリシーを築いていきたいと思います。

もう1つお聞きしたいのですが、規模が大きくなるほど(共同作業のプロジェクトの場合はなおさら)
名付け方1つ違うだけで可読性に大きく差が出てくるような気がするのですが。
可読性=生産性と考えると、名付け方というのは相当に重要なポイントではないでしょうか?
(プロジェクトリーダーの力量が問われるところ?)

120:デフォルトの名無しさん
08/02/15 16:19:41
>>118
お前のチンコがマイクロソフトなんだぜ?

121:デフォルトの名無しさん
08/02/15 16:29:27
0が真でそれ以外が偽というのもあるなー
いずれにせよマジックナンバーはオススメできないよなぁ

122:デフォルトの名無しさん
08/02/15 17:34:48
>>121
そして、
#define TRUE 0
#define FALSE !TRUE

int isHoge() {
  reutrn TRUE; // or FALSE
}
int hoge() {
  if (isHoge()) {}
}
とかやってしまうアホが出てくるんだろうなぁ。

123:デフォルトの名無しさん
08/02/15 17:37:39
そいえばFortran使ってたころ痛い目見たなぁ・・・(遠い目
bool型のない言語って最近はないですよね?

124:デフォルトの名無しさん
08/02/15 17:44:11
>>121
shellがそうだね。だから、testコマンドの振る舞いがちょっと変。

125:デフォルトの名無しさん
08/02/15 18:06:48
>>123
PHPは無いんじゃなかろうか。
echo true とかすると 1 って出るし。

でも困った事はない。

126:19
08/02/15 18:15:23
>>21の方法でやってもセグメンテーションエラーになりました・・・
関数内でfgetc呼んだ時点でなってるようなんですが・・

127:デフォルトの名無しさん
08/02/15 18:22:21
>>126
今日も続ける心算なら、実際にコンパイルしたソースを貼ってくれ。
ついでに言えば、>21は昨日の滓が書いたコードだから無視していい。

128:デフォルトの名無しさん
08/02/15 18:27:50
>>125 と思ったらあるみたい。
URLリンク(jp2.php.net)

echo true で 1って出るのは暗黙の型変換でもされてるんだろうか。
よくわからん。

129:デフォルトの名無しさん
08/02/15 20:07:05
>>118 MSDNの例?
そういや自分MSDNにある命名規則とはずいぶん違うなあ
List変数を今までList<Hoge> hogeListとしてたけど、hogesのほうが一般的?

130:デフォルトの名無しさん
08/02/15 23:04:20
>>129
コンテナがlistであることに意味がある場合は兎も角、
そうでないならListとつけるのはどうだろう。
# でもまぁ、hogeListとかlistHogeとかhogesとかどれも見掛けるなぁ。

131:デフォルトの名無しさん
08/02/15 23:23:38
意味あっても無くても付けるだろ普通
listなら〜List、mapなら〜Map、配列なら〜Arrayって感じで。
その方がプログラム構造が視覚的に分かりやすいよ。


132:デフォルトの名無しさん
08/02/15 23:27:12
>>131
開発の途上でコンテナを変えたときにはリネームするの?

133:デフォルトの名無しさん
08/02/15 23:31:41
>>131
やっぱりそうだよね。
#VSとかのIDEならポップアップですぐ型が分かるし無問題、って言う人もいるかもしれんけど。

134:デフォルトの名無しさん
08/02/15 23:35:47
>>132
そりゃ当然

135:デフォルトの名無しさん
08/02/15 23:42:32
ご愁傷様。

136:デフォルトの名無しさん
08/02/15 23:42:48
C++でリストって言ったらstd::listで線形リスト、
C#でリストって言ったらList<T>で動的配列。

もちろんC++書いているときには、
C#のことは頭の隅に追いやるし、逆もまた然りなんだけど、
ことコンテナの名前は言語・環境によって様々な名前を持っているから、
変数名に付けたいとは思わない。

137:デフォルトの名無しさん
08/02/15 23:45:01
ただのシステムハンガリアンじゃん

138:デフォルトの名無しさん
08/02/16 00:05:45
<T>って何を表してるの?


139:デフォルトの名無しさん
08/02/16 00:06:25
テンプレート引数

140:デフォルトの名無しさん
08/02/16 00:08:26
「何らかのコンテナであること」を変数名に含めるのもNGなの?
コンテナはコンテナって分かったほうが把握しやすいと思うんだけど。

141:デフォルトの名無しさん
08/02/16 00:14:54
複数形で十分じゃない?

142:デフォルトの名無しさん
08/02/16 00:37:46
単複同形や不可算名詞の時どうするんだろうといつも思う

143:デフォルトの名無しさん
08/02/16 00:38:09
eclipse使ってりゃリネームなんて何の苦労も無いし

144:デフォルトの名無しさん
08/02/16 00:43:09
>>136は正論だと思うけど、あちこちに複数形の変数がやたら増える方が嫌だな〜俺は

145:デフォルトの名無しさん
08/02/16 00:54:48
>>142
問答無用でs付けちゃ駄目?
ガイジンはどうしてるんだろ?

146:デフォルトの名無しさん
08/02/16 02:28:11
DLLやEXEのインポートテーブルを調べてどのバージョンのWindowsから実行できるか検査するソフトってないですか?
たとえば、VC2005にて通常の方法で生成したEXEなどはWindows 95 などではIsDebugPresentsが存在しないので
エラーになってしまうのですが、それをチェックできるソフトってないかなと
知っている方がいたら教えてください



147:デフォルトの名無しさん
08/02/16 03:35:09
試用版と、アップデート版があるのですが、
ファイルサイズはまったく同じで、MD5も同じなんです。

これはまったく同じファイルなのでしょうか?

148:デフォルトの名無しさん
08/02/16 03:43:08
同一かどうか調べるなら diff とった方がいい

149:デフォルトの名無しさん
08/02/16 04:03:51
あ、すいません、テキストではなくバイナリなんです。
念のため、diffに突っ込んでみましたが、特に同じようです。
crc、MD5も同じなのに。
年間100万の契約したファイルと試用版が同じファイルなんて・・・。

150:デフォルトの名無しさん
08/02/16 04:11:00
diff はバイナリにも使える。
違いがあるかどうかしか分からないけど。

151:デフォルトの名無しさん
08/02/16 04:15:06
わざわざ別バイナリにするより、キーとかで制限掛けるほうが
売る方としては合理的だと思うが。

それに使う側としても同じだから何か困る?
せこいことするのが前提なら別だけど。

152:デフォルトの名無しさん
08/02/16 06:47:03
PHPとかPerlとかの良く使う関数をA4一枚(もしくは数枚?)にまとめた海外サイトを
どこかで見た記憶があるんですが、ご存知の方いませんか?
それっぽいキーワードでぐぐったり、記憶の糸を辿ってみたんですが見つかりませんでした

153:デフォルトの名無しさん
08/02/16 07:00:59
(a<<8)+b

a<<8+b
の結果がちがうんですけど
なんでですか

154:デフォルトの名無しさん
08/02/16 07:16:35
>>153
何の言語か知らんが、ふつうは + の方が優先順位が高いので、下のは
a << (8+b)
になる。


155:デフォルトの名無しさん
08/02/16 09:18:33
>>149
輸入車ディーラーで、試乗車が違う仕様だったら嫌でしょ?
# フェラーリに試乗したらエンジンがスバルだったとかw

156:デフォルトの名無しさん
08/02/16 13:07:10
>>152
そういうのは、cheat sheetって言うんだよ

157:デフォルトの名無しさん
08/02/16 13:14:01
日本語でいうカンペ,アンチョコだな

158:デフォルトの名無しさん
08/02/16 13:18:49
デバッガについて教えてください。初心者です。Ollydbgを使っているのですが、
「アドレス00xxxxxxにBPを再スタートする」とはどういうことなのでしょうか?
BPを調べてみるとブレークポイント、レジスタのEBP(ベースポインタ)がありますが関係ありますか?

159:デフォルトの名無しさん
08/02/16 13:21:42
>>155


160:デフォルトの名無しさん
08/02/16 14:22:31
>>159
試用版が製品版と同一なのは歓迎こそすれ、問題となるような点は無いってことだろ。

161:デフォルトの名無しさん
08/02/16 14:24:54
それじゃあ試用版買う意味なくなるじゃん・・・

162:デフォルトの名無しさん
08/02/16 14:25:14
間違えた、試用版買う意味なくなる

163:デフォルトの名無しさん
08/02/16 14:25:22
サポートとライセンス代だろjk

164:デフォルトの名無しさん
08/02/16 14:29:51
>>162
製品版買う意味なくなる、だろ。

165:デフォルトの名無しさん
08/02/16 14:34:06
その試用版を適用したデータが軒並公開不可能になることにさえ目をつぶればな

166:デフォルトの名無しさん
08/02/16 15:20:21
どのソフトらを念頭に置いて言ってるの?

167:デフォルトの名無しさん
08/02/16 21:35:21
WIN32 APIのSetROP2と同じ様な機能を持つ、CarbonAPIをご存じの方いませんか?

168:デフォルトの名無しさん
08/02/17 00:43:03
某ソースがうpされてるんだが繋がらない・・・俺だけ?
URLリンク(www2.uploda.org)

169:デフォルトの名無しさん
08/02/17 01:50:44
#ifndef _FILE_DEFINED
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
#define _FILE_DEFINED
#endif


という定義の中の*_tmpfnameを表示させようとしたんですがうまくいきません。
printf("tmpfname :%c\n",*fp->_tmpfname);
を実行するとエラーで落ちるんですがこれじゃダメですか?

170:デフォルトの名無しさん
08/02/17 02:03:31
>>169
FILEの中身をデリファレンスしちゃいけません。

ってのはさておき、先ずはprintf("%p\n", fp->tmpfname)してみるんだ。

171:デフォルトの名無しさん
08/02/17 02:27:53
>>170
おぉ、なんかわからんがエラーにはなりませんでした!
でも00000000でした。名前が入ってるのかと思ったのに。
ありがとうございました。

172:デフォルトの名無しさん
08/02/17 02:36:21
>>170

でも、

#ifndef _FILE_DEFINED
struct _iobuf {
char *_ptr;             ←こいつと
int _cnt;
char *_base;            ←こいつはちゃんと表示されたんですけど何が違うんですか?
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
#define _FILE_DEFINED
#endif


173:デフォルトの名無しさん
08/02/17 03:00:19
>>156
ありがとうございます
おかげで見つかりました

174:デフォルトの名無しさん
08/02/17 03:08:41
環境
OS: 32-bit XP
CPU: Q6600
Compiler: MS Visual C++
にて、コンパイル時に
c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(19) : error C2054: 'f' の後に '(' が必要です。
となるのでそこを見てみると、
typedef _W64 unsigned int size_t;
とあります。64ビットのオプションか何かの問題でエラーが発生しているのでしょうか?

175:デフォルトの名無しさん
08/02/17 03:11:30
>>172
ポインタがNULLじゃないから表示されたんだろう。
なんにしても、FILEの中身は見ちゃダメ。


176:デフォルトの名無しさん
08/02/17 03:14:08
>>172
恐らくは、_tmpfnameは使われていないときはNULLに設定されているのだろう。
どういうときに使われるのかはコンパイラの制作者に聞いてくれ。

>>174
自作のプログラムをコンパイルしているのだとしたら、極シンプルなものをコンパイルしてみたまえ。
それでもそのエラーが出るなら環境の問題、そうでないなら自作のプログラム側の問題。

177:デフォルトの名無しさん
08/02/17 03:16:48
なんで見ちゃダメなんですかぁ(><)
見るなと言われると余計見たくなるんですが

178:デフォルトの名無しさん
08/02/17 03:27:17
えっち♥

179:デフォルトの名無しさん
08/02/17 03:33:57
>>176
自作のプログラムの問題のようです。
\wp64オプションを外してリビルドしてみましたが、やはり発生します。

180:デフォルトの名無しさん
08/02/17 03:36:34
別に見るのは問題ない。
でも、FILE構造体の中身を直接使うようなコードを書くのは行儀が悪い。
FILEを使う標準関数のソースと合わせて、
いかに実装を知らせずにやり取りさせるかの一例として眺めるのには使えるかもしれない。

181:デフォルトの名無しさん
08/02/17 03:45:12
書き換えてるわけじゃなくてprintfで出力するのもまずいんですか?

182:デフォルトの名無しさん
08/02/17 03:52:22
別にまずくない。
どういう動作をしているか、どういう構造をしているのか見たいと思うのは自然なことだ。
でも、全てのFILEの実装が同じである保証はないから、
普通にプログラムを書く分にはFILEがどう定義されているかに依存する書き方をしない方が
後々問題を起こしにくいということ。

183:デフォルトの名無しさん
08/02/17 03:52:58
>>179
バックアップに更新ファイルだけペーストして取り繕ってみたら発生しなくなりました。
原因はわからないけど解決はできたのでまたコーディング作業に戻ります。


184:デフォルトの名無しさん
08/02/17 06:55:51
#define __NANASHI WAROSU

と定義したとして、_NANASHIを表示させたい場合どうすればいいんでしょうか?
printf("_NANASHI");だとそのまま_NANASHIが出力されちゃうんです。

185:デフォルトの名無しさん
08/02/17 07:06:00
>>184
printf("%d",_NANASHI);かな?
defineの内容によっちゃ%sになるかも知れんが・・・

186:デフォルトの名無しさん
08/02/17 10:22:59
>>182
たまに中身が変わったりしてコンパイルできなくなったり動かなくなったりするしな。

187:158
08/02/17 11:22:00
>158おながいします。

188:デフォルトの名無しさん
08/02/17 11:58:37
VB2005と2008Expressって結構違う所あるかな?

189:デフォルトの名無しさん
08/02/17 12:11:42
なんでググらないのかな、このクズは

190:デフォルトの名無しさん
08/02/17 12:12:30
>>189
ググったよ。ググったからここに来たんだよ

191:デフォルトの名無しさん
08/02/17 12:25:24
それで分からないのなら脳に何か障害がある可能性が高い。
まずは病院。

192:デフォルトの名無しさん
08/02/17 12:42:54
違いがよくわからければ、とりあえず最新の2008を使っておけばいいよ。

193:デフォルトの名無しさん
08/02/17 14:19:04
>>192
そっか。ありがとう。

194:デフォルトの名無しさん
08/02/17 17:12:32
昔fgets使うよりfgetc使って書いた方がいいとか聞いた記憶があるんですが、今もそうなんですか?

195:デフォルトの名無しさん
08/02/17 17:16:03
>>194
目的に応じて使い分け
どっちでもいいよ
ただしgetsは使うな

196:デフォルトの名無しさん
08/02/17 17:29:22
タブは\tで、改行は\nなんですが、スペースってどう表現すればいいですか?

197:デフォルトの名無しさん
08/02/17 17:31:03
どの環境の話?
普通にスペースじゃだめなのか

198:196
08/02/17 17:45:08
UNIXではどうなのかと、Winではどうなのか知りたいです。
スペースそのままでもいいんですけど、もうちょっとスマートな書き方ないかなと思って。

199:デフォルトの名無しさん
08/02/17 17:52:02
>>198
ごめん意味がわからない
OSはそんなこと気にしないからプログラムの問題じゃないの?
エスケープなしがいちばんスマートだと思うが

200:デフォルトの名無しさん
08/02/17 17:57:12
>>198
UnixでもWindowsでも、スペースはASCIIで0x20の' '。

201:デフォルトの名無しさん
08/02/17 18:20:57
スペースはスペースをそのまま書けばいい。
それが一番スマートだ。

ASCII コード限定なら
\x20 とか \032 とか書けはするが、
むしろ分かりにくくなるし、移植性が低い。

202:196
08/02/17 18:24:20
>>199-200
わかりました。ありがとうございました。

203:デフォルトの名無しさん
08/02/17 19:58:24
標準関数の戻り値で、charをわざわざintにキャストして返してくるものが結構あるんですけど、どんな理由でそうなってんですか?

204:デフォルトの名無しさん
08/02/17 20:02:28
アセンブラを勉強して関数から値を戻してみるといい

205:デフォルトの名無しさん
08/02/17 20:03:19
Cでは普通intより小さい数はintになることになってるから。

sizeof('a') はいくつでしょう?

206:デフォルトの名無しさん
08/02/17 20:20:00
わざわざキャストしてあるって、実装を見たのか?

207:デフォルトの名無しさん
08/02/17 20:21:11
>>203
レガシーなCではintより小さい型を返すことが(事実上)できなかったから。

208:デフォルトの名無しさん
08/02/17 20:23:08
そもそも char から int へのキャストって
普通はコンパイラのオプションに依存するわけで、
そんな危ない実装してることはないと思うぜ。
signed か unsigned を明示してるはず。

209:デフォルトの名無しさん
08/02/17 20:40:53
いやいや。
while ( (c=fgetc(fin)) != EOF)
charだとバイナリでこんな使い方ができないのでは

210:デフォルトの名無しさん
08/02/17 20:51:35
処で、vmwareではクライアントOSのファイルシステムはホストOSのファイルシステムのどこに存在するんだ?
cygwinだと(標準では)c:\cygwin配下に展開されているわけだが。

211:デフォルトの名無しさん
08/02/17 20:59:26
ホストの種類と設定次第じゃね?

212:デフォルトの名無しさん
08/02/17 21:15:58
>>210
仮想マシン作成時にhddのイメージファイルが作成されてるはずだが、スレ違い

213:デフォルトの名無しさん
08/02/17 21:19:54
あるファイルで定義した#defineの値を別のファイル中でも有効にするにはどうすればいいですか?

214:デフォルトの名無しさん
08/02/17 21:21:11
#include

215:デフォルトの名無しさん
08/02/17 21:26:07
変数で_(アンダースコア)で始まってるのってどんな意味があるんですか?

216:デフォルトの名無しさん
08/02/17 21:32:06
処理系で予約されている識別子名。
自分で定義して使ってる人がいたら、単なる無知。

217:210
08/02/17 21:37:13
THX! cygwinみたいにNTFSをそのまま使うんじゃなくてイメージファイル内に展開するわけね。

218:デフォルトの名無しさん
08/02/18 03:26:59
汎用のGrepツールのようなものを作りたいんですが
OfficeやPDF等々に特定の文字列が含まれるかどうかを調べる為の
ライブラリ・プラグインといったものがあったら教えてください。

219:デフォルトの名無しさん
08/02/18 03:51:22
>>218
まさにそれを作りたいって言ってるのでは…?

220:デフォルトの名無しさん
08/02/18 07:40:11
一番外側の薄皮一枚だけ作りたいんだろう。

221:デフォルトの名無しさん
08/02/18 10:34:53
CADやペイントツールに実装されているレイヤ機能に関して質問です。

レイヤの概念は分かるのですが、visual C++などで実装するには
具体的にどのような処理をすればいいのでしょうか?

参考文献や参考ページもなかなか見つからず困っています。

透明背景の画像をたくさん作って、αブレンディングをしていくだけなんでしょうか?
よろしくお願いすます。

222:デフォルトの名無しさん
08/02/18 11:48:24
>透明背景の画像をたくさん作って、αブレンディングをしていくだけなんでしょうか?
そうだよ。

223:デフォルトの名無しさん
08/02/18 12:05:25
rarやzipのファイルを拡張子だけflvに変えて、ニコニコにアップするって
できるんでしょうか?
その他の拡張子で同じようなことが可能なものがあればそれも……
何の意味もない、興味本位ナ質問ですが、とても気になるので分かる方
教えてください。
これできれば、本当にダウンロード違法化意味ないなって思ったものですから

224:デフォルトの名無しさん
08/02/18 12:11:40
>>223
ニコニコで聞け。

225:デフォルトの名無しさん
08/02/18 12:38:12
マジレスすると拡張子のほかにヘッダも偽造すればアップできる

226:デフォルトの名無しさん
08/02/18 12:51:21
>>225
ダウンロード違法化したら、誰かやり始めるでしょうね。
分割すれば、容量も関係ないですし。
キャッシュからダウンなら改正後も合法みたいですし。

回答サンクスです

227:デフォルトの名無しさん
08/02/18 14:13:36
使ってるアプリ(VB6.0で開発された)の中にIGToolBars50.ocxっていう
ファイルがあるんですが、これは何ですか?

アプリの調子が悪いのでWinDBGのログのぞいたらこんなファイル名が
あったのですが、ググって見ても英語のページばかりでサパーリわからじ。
もうウワアアアアアアアアンって感じ。

228:デフォルトの名無しさん
08/02/18 14:16:12
WinRunnerというソフトに覚えはあるか?

229:デフォルトの名無しさん
08/02/18 14:18:10
>>228
早速サンクス。WinRunnerは自分では使った覚えは無いですがググッたら
出てきた。なんかのテストツールだと言う事しか分からないです。
WinRunnerの一部のファイルですか?

230:デフォルトの名無しさん
08/02/18 14:27:56
馬鹿みたいな質問ですけど、現在使われているプログラミング言語っていくつぐらいあるのでしょうか?
C、 C++、C#、JAVA、Delphi、Python、COBOL、FORTRAN、VB、Ruby、LISP、D
Perl、HSP、ひまわり、なでしこ
これ以外に何かありますか?

231:デフォルトの名無しさん
08/02/18 14:28:10
>>223
無理
ニコニコ動画はサーバー側で再エンコードを行ってるから、
サーバーが動画だと認識できるバイナリ形式じゃないと弾かれる

232:デフォルトの名無しさん
08/02/18 14:33:30
>>196
その「タブは\tで、改行は\n」と書いてあるマニュアルに載ってる以上のものはないと思うぞ

233:デフォルトの名無しさん
08/02/18 14:43:59
>>230
「使われている」の定義にもよりますが
制御機器メーカーが自社製品用に作ったプログラミング言語なんてのも含めると
とてもたくさんあります。

234:デフォルトの名無しさん
08/02/18 14:50:52
>>230
量に圧倒されたいだけならここでも見ればいい。
URLリンク(en.wikipedia.org)

235:デフォルトの名無しさん
08/02/18 14:53:00
>>230
プログラミング言語のトレンド
URLリンク(www.tiobe.com)

236:デフォルトの名無しさん
08/02/18 14:54:22
>>230 たくさん

URLリンク(dir.yahoo.com)

(注: 言語関連の項目のリストなので、全ての項目が言語じゃないけど)
Wikipedia項目リンク

237:デフォルトの名無しさん
08/02/18 18:12:00
いまsshコマンド使って外部からパソコンにログインして、プログラムを走らせているんですけど、ログアウトしてしまっても、その作業が終わるまでプログラムが作業し続けるよう命令するコマンドってありますか?
もしあるのなら教えていただけると助かります。


238:デフォルトの名無しさん
08/02/18 18:13:27
上で書き忘れてしまいましたが、UNIXの端末からsshコマンドを使って、Linaxのパソコンをリモートコントロールしています。

連投申し訳ありません

239:デフォルトの名無しさん
08/02/18 18:33:14
Linux板の質問スレあたりで聞いてください

240:デフォルトの名無しさん
08/02/18 18:40:38
&つけないで実行したなら、Ctrl-Z押してbgとか?

241:デフォルトの名無しさん
08/02/18 19:07:12
それはプログラムを作る話か?

242:デフォルトの名無しさん
08/02/18 19:28:55
わざわざlist構造を使うメリットってあるんすか?
こんなすげぇーことがあるんだよ!っていう意見募集中です!

243:デフォルトの名無しさん
08/02/18 19:37:13
お断りです!

244:デフォルトの名無しさん
08/02/18 19:38:21
追加と削除のコストが O(1) なんですよ!!!

245:デフォルトの名無しさん
08/02/18 19:47:50
キーからレコードを引く一番単純なDBのアルゴリズムでお聞きします。
無駄に、キーの潜在的理論最大数だけ配列を用意し、
キーの値を添え字にして配列を引いちゃう、
だれでも思いつく一番単純なやり方の、
「学術的な呼び方」を教えてください。
大学時代の教科書を引っ張り出しましたが、記載なし。

適当コードはこんな風。(キーはuint16だとする)

extern rec_t R[1<<16];
add_record(uint16 key, rec_t *dat) { R[key] = dat }
get_record(uint16 key) { return R[key] }
(これだと、一個しかデータを登録しなくても64k個の配列が生まれるが気にしない。)


246:237
08/02/18 19:51:04
>>239,240
解決しました
どうもすみませんでした

247:デフォルトの名無しさん
08/02/18 21:02:19
>>245
俺も名前聞いたことないな。
単にhash(x) = xというハッシュ関数使ったハッシュ。……というのは無理があるか?

248:デフォルトの名無しさん
08/02/18 21:06:26
単なるテーブルじゃない?

249:デフォルトの名無しさん
08/02/18 21:24:54
>>245
直接編成?
違うかも。

250:デフォルトの名無しさん
08/02/18 22:37:19
postgreSQLを使ってるんですが、
SQL文、あるいはpsqlのコマンドで、あるデータベース内にあるテーブル一覧を取得するコマンドってありますか?

251:デフォルトの名無しさん
08/02/18 22:39:16
DBはDB板へ

252:250
08/02/18 22:50:36
DB板にも行ったんですが過疎過ぎてレスが付かないんです。

253:221
08/02/18 22:52:27
>>222
ありがとうございます。

254:デフォルトの名無しさん
08/02/18 23:04:24
テーブルの一覧はテーブルに入っている

255:デフォルトの名無しさん
08/02/18 23:24:24
>252
SQL質疑応答スレ 5問目
スレリンク(db板)

ちゃんと人いるじゃないか
質問しないとレスつくわけないだろ

256:245
08/02/18 23:47:03
>>247
>>249
レスさんくす。

でも、なんかいい名前ないですかねぇ。
いまは、しょうがないので、単純法とか、直接法とか、
勝手な名前をデッチあげようかと思っているのですが。。。

だれか、「学術名」をご存じないですか?

多分、ミネラルウォーターでもなくアルカリイオン水でもない、
フツーの水ってなんていうんだ?
みたいな問題でしょう、よくわからないけど。


257:デフォルトの名無しさん
08/02/19 00:53:04
そんな風にソートするのをバケツソートって言うな

258:デフォルトの名無しさん
08/02/19 01:06:03
え・・?

259:デフォルトの名無しさん
08/02/19 01:15:31
いや、あってるだろ?キーの重複がないことがソート条件じゃないか?

260:デフォルトの名無しさん
08/02/19 03:21:19
ご大層な名前なんてなくて単なるルックアップテーブルじゃないのかね

261:デフォルトの名無しさん
08/02/19 07:31:21
バケットソート
Wikipedia項目リンク
バケツソート、分布数えソート、計数ソート、ビンソートなどともいう。

262:デフォルトの名無しさん
08/02/19 07:37:43
>>261
無関係だろ?

263:デフォルトの名無しさん
08/02/19 10:27:22
オブジェクト指向って要するにどういうことだよ

264:デフォルトの名無しさん
08/02/19 10:31:24
物に対して、動作を定義すること


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5495日前に更新/131 KB
担当:undef