探検
C言語をやりたいんですが
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2007/12/23(日) 02:35:09 まずなにやったらいいの?
make(1/3)
たくさんソースファイル尾つくって、毎回それを全部コンパイルするのは無駄だ。
変更したソースだけをコンパイルすれば効率がいい
dmc a.c b.c c.c
この場合a.c b.c c.cがコンパイルされa.obj,b.obj,c.objが作られる。
-------MAKEFILE---------
SEX : a.c b.c c.c
(tab)dmc a.c b.c c.c
---------------------------
MAKEFILEというファイル名で
(tab)はTAB1こ。
これをmakeすると…
たくさんソースファイル尾つくって、毎回それを全部コンパイルするのは無駄だ。
変更したソースだけをコンパイルすれば効率がいい
dmc a.c b.c c.c
この場合a.c b.c c.cがコンパイルされa.obj,b.obj,c.objが作られる。
-------MAKEFILE---------
SEX : a.c b.c c.c
(tab)dmc a.c b.c c.c
---------------------------
MAKEFILEというファイル名で
(tab)はTAB1こ。
これをmakeすると…
>>177-178
void rev(char *x,char*m, short s)
{
long bin=0;
long sm=strlen(x);
m[sm]=0;
for(;bin<sm;bin+=2){
m[bin]=x[sm-bin-2];
m[bin+1]=x[sm-bin-1];
}
}
main(){
char sex[] = "あーセックスしてー";
static char manko[64];
rev(sex,manko, 2);
puts(manko);
}
void rev(char *x,char*m, short s)
{
long bin=0;
long sm=strlen(x);
m[sm]=0;
for(;bin<sm;bin+=2){
m[bin]=x[sm-bin-2];
m[bin+1]=x[sm-bin-1];
}
}
main(){
char sex[] = "あーセックスしてー";
static char manko[64];
rev(sex,manko, 2);
puts(manko);
}
181 ◆nullpop./c
2009/05/10(日) 00:46:00 /*
ライブラリ関数[1]
ファイル関係は以下のようにする
*/
#include <stdio.h>
typedef struct {
FILE *sex;
char sex2p[801];
FILE *(*open)(const char *n,const char*m);
int (*close)(FILE*);
char *(*gets)(char*,int n,FILE*);
} SEX_IO_VER;
SEX_IO_VER sit = {NULL,"sex",fopen,fclose,fgets};
main(int argc, char **argv)
{
static int line;
sit.sex = sit.open(argv[1], "r");
while (sit.gets(sit.sex2p,800,sit.sex)) printf("line%4d -- %s",line++,sit.sex2p);
sit.close(sit.sex);
}
ライブラリ関数[1]
ファイル関係は以下のようにする
*/
#include <stdio.h>
typedef struct {
FILE *sex;
char sex2p[801];
FILE *(*open)(const char *n,const char*m);
int (*close)(FILE*);
char *(*gets)(char*,int n,FILE*);
} SEX_IO_VER;
SEX_IO_VER sit = {NULL,"sex",fopen,fclose,fgets};
main(int argc, char **argv)
{
static int line;
sit.sex = sit.open(argv[1], "r");
while (sit.gets(sit.sex2p,800,sit.sex)) printf("line%4d -- %s",line++,sit.sex2p);
sit.close(sit.sex);
}
182デフォルトの名無しさん
2009/05/10(日) 17:20:57 C言語は実際にみてみればいいですねwこの前sakuyawwwっていうやつと知恵袋で書き込みしあったので見てみてください。
メモリには1バイト(8ビット)づつ番地が割り振られている。
1番地=1バイト=8ビット=256通りの情報
100番地に154を置くということは、100番地のメモリを10011010にするということ。
このことをある言葉で書いてみてください。
ある言葉はCですねw
Cで書いてみると
size of char = 1 バイト
size of short = 2 バイト
size of int = 4 バイト
size of unsigned int = 4 バイト
size of float = 4 バイト
size of double = 8 バイト
size of long double = 12 バイト
size of size_t = 4 バイト
これでおkですw
メモリには1バイト(8ビット)づつ番地が割り振られている。
1番地=1バイト=8ビット=256通りの情報
100番地に154を置くということは、100番地のメモリを10011010にするということ。
このことをある言葉で書いてみてください。
ある言葉はCですねw
Cで書いてみると
size of char = 1 バイト
size of short = 2 バイト
size of int = 4 バイト
size of unsigned int = 4 バイト
size of float = 4 バイト
size of double = 8 バイト
size of long double = 12 バイト
size of size_t = 4 バイト
これでおkですw
183デフォルトの名無しさん
2009/05/10(日) 17:22:31ハッキングとクラッキングの違いについて、ハッカーは絶対に自分からハッキングしません。クラッカーどもはしますがね!
ハッカーは日本に何人いるか?については、具体的には分かりませんが、大体数百人ぐらいですね・・・自分がしっている人数でも、50人ぐらいしか知りません。
001b7 f2 0f 2c d3 cvttsd2si edx, xmm3はなんですか?について、自分が今まででそういうソフトは知りません。もしかしたら全然関係ないものかもしれないし、もしかしたら、本当に関係があるかもしれません。
ハッキングは防ぐことができますか?について、ここではハッキングではないので、後からは「クラッキング」と称します。
クラッカーはまあよほど物好きでなかったら、一般の人のPCやセキリュティに進入しません。まあ、一応クラッキングされたとして、
一応どんなPCにも独特のセキリュティが入っています。しかし、どんなセキリュティも30分ほどしか持たないといわれています。
なので、セキリュティへの進入を感知すると、しっかりしたPCだと警告がでるので、すぐにわかります。すると自動的にシャットダウンするなど色々な動作でクラッキングを防ぐ行動をします。
ハッキングのやり方は
自分のPC・セキリュティへの進入を感知→相手のプロダクトID(プロダクトキーでも可)→相手のセキリュティの突破・破壊(別に破壊しなくてもいいですが、したい場合はしちゃってください!)→後は自分の好きなようにする。
一応クラッキングについても教えますね。 まあ、専門ではないので間違っている場合があります。
相手のプロダクトID(IPアドレスがあればもっと簡単になります。)→相手のセキリュティの突破(破壊は絶対にしないでください。すぐにばれます。)→後は自分の好きなようにする。
まあ、すんごく、超簡単に言ってみるとこんな感じですね。
PCにアクセスとは何?については
多少間違っていますね。アクセスはハッキング(クラッキング)半分合っていて半分間違っています。自分のPCから相手のPCへのアクセスは相手も同意しているのが絶対です。それ以前にばれています。
あと、この回答は質問に答えただけなので、ベストアンサーにはしなくてもいいです。
184 ◆nullpop./c
2009/05/11(月) 21:49:51 >>182-183
ネタなのかマジなのかわからんが。。。。。
int,unsigned intはコンパイラ依存(2byte,4byteどちらか)
001b7 f2 0f 2c d3 cvttsd2si edx, xmm3
左が機械語、右が対応するアセンブリ言語
ネタなのかマジなのかわからんが。。。。。
int,unsigned intはコンパイラ依存(2byte,4byteどちらか)
001b7 f2 0f 2c d3 cvttsd2si edx, xmm3
左が機械語、右が対応するアセンブリ言語
185デフォルトの名無しさん
2009/05/13(水) 13:41:04186 ◆nullpop./c
2009/05/23(土) 09:29:12 演算子(1/5)
Cは演算子がおっぱいある
優先順位と結合規則について説明しよう
優先順位が高いものから演算されます
s+e*xのときにe*xをしてそれにsを足すといったようになる
優先順位が同じものが複数有る場合、結合規則が適用される
a+u+m-s+h
+-は結合規則が左から右になっているから
((a+u)+m)... というように演算される
Cは演算子がおっぱいある
優先順位と結合規則について説明しよう
優先順位が高いものから演算されます
s+e*xのときにe*xをしてそれにsを足すといったようになる
優先順位が同じものが複数有る場合、結合規則が適用される
a+u+m-s+h
+-は結合規則が左から右になっているから
((a+u)+m)... というように演算される
187 ◆nullpop./c
2009/05/23(土) 09:31:52 演算子(2/5)
配列の[]は注意が必要だ
sex[nakadasi]
これは
*(sex+nakadasi)
に変換される
だからa[5]と5[a]は同等だ
配列の[]は注意が必要だ
sex[nakadasi]
これは
*(sex+nakadasi)
に変換される
だからa[5]と5[a]は同等だ
188 ◆nullpop./c
2009/05/23(土) 09:34:06 演算子(3/5)
sizeof演算子は2つの使い方がある
main(){
short sex;
printf("%d"
"-----"
"%d"
,
sizeof(long),
sizeof sex);
}
sizeof演算子は2つの使い方がある
main(){
short sex;
printf("%d"
"-----"
"%d"
,
sizeof(long),
sizeof sex);
}
189 ◆nullpop./c
2009/06/06(土) 14:40:30 質問ある???
190デフォルトの名無しさん
2009/06/06(土) 16:41:34 >>187
うぉ、すげっ。
うぉ、すげっ。
191デフォルトの名無しさん
2009/06/09(火) 01:05:57 何かボタンを押したら・・・みないたのをやりたいんだけど
scanf()だとEnter押さなきゃ入ってくれないじゃない?
どうすればEnter以外のボタンでもキー入力を取得できるの?
scanf()だとEnter押さなきゃ入ってくれないじゃない?
どうすればEnter以外のボタンでもキー入力を取得できるの?
192デフォルトの名無しさん
2009/06/09(火) 01:16:26 標準のCライブラリでは無理。
処理系依存では、kbhit とかあるけど、最近のウィンドウズでも使えるんだっけ?
処理系依存では、kbhit とかあるけど、最近のウィンドウズでも使えるんだっけ?
193デフォルトの名無しさん
2009/06/10(水) 04:21:51 VCだと_kbhitが一応用意されてるな
使った事ないけど
使った事ないけど
194ぅゅ ◆e6.oHu1j.o
2009/09/10(木) 09:21:42 ほらよ!!!
#include <windows.h>
#include <conio.h>
#include <stdio.h>
void main(){
printf("Z か A ");
getch();
if( GetKeyState( 0x5A ) & 0x80 ){MessageBox( 0, "test" , "ぜっとー。。" , 0);}
if( GetKeyState( 0x41 ) & 0x80 ){MessageBox( 0, "test" , "えーぼたんー" , 0);}
}
#include <windows.h>
#include <conio.h>
#include <stdio.h>
void main(){
printf("Z か A ");
getch();
if( GetKeyState( 0x5A ) & 0x80 ){MessageBox( 0, "test" , "ぜっとー。。" , 0);}
if( GetKeyState( 0x41 ) & 0x80 ){MessageBox( 0, "test" , "えーぼたんー" , 0);}
}
195 ◆nullpop./c
2009/09/10(木) 19:13:43196デフォルトの名無しさん
2009/09/11(金) 03:33:51 e6.oHu1j.o でググると、しょうもないもんばっかり出てくるよ
197デフォルトの名無しさん
2009/09/11(金) 09:04:19 トリ付きの98%はゴミ
198 ◆nullpop./c
2009/09/13(日) 18:29:20 >>194修正
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm")
static char messagetable[][100] = {"エラーです", "ぜっとー。。", "えーぼたんー", };
void PrintMessage(int i){
HWND hwnd;
int table_id = 0;
hwnd = GetForegroundWindow();
if( GetKeyState( 'Z' ) & 0x80 ) table_id = 1;
if( GetKeyState( 'A' ) & 0x80 ) table_id = 2;
if(table_id !=0) {
MessageBox( hwnd, "test" , messagetable[table_id] , MB_ABORTRETRYIGNORE);
} else {
MCI_OPEN_PARMS mop;
mop.lpstrDeviceType = "cdaudio";
mciSendCommand((DWORD_PTR)NULL, MCI_OPEN, MCI_OPEN_TYPE, (DWORD_PTR)&mop);
mciSendCommand(mop.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD_PTR)NULL);
}
}
int main(void){
int i;
printf("Z か A ");
i = getch();
PrintMessage(i);
return EXIT_SUCCESS;
}
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include <mmsystem.h>
#pragma comment(lib,"winmm")
static char messagetable[][100] = {"エラーです", "ぜっとー。。", "えーぼたんー", };
void PrintMessage(int i){
HWND hwnd;
int table_id = 0;
hwnd = GetForegroundWindow();
if( GetKeyState( 'Z' ) & 0x80 ) table_id = 1;
if( GetKeyState( 'A' ) & 0x80 ) table_id = 2;
if(table_id !=0) {
MessageBox( hwnd, "test" , messagetable[table_id] , MB_ABORTRETRYIGNORE);
} else {
MCI_OPEN_PARMS mop;
mop.lpstrDeviceType = "cdaudio";
mciSendCommand((DWORD_PTR)NULL, MCI_OPEN, MCI_OPEN_TYPE, (DWORD_PTR)&mop);
mciSendCommand(mop.wDeviceID, MCI_SET, MCI_SET_DOOR_OPEN, (DWORD_PTR)NULL);
}
}
int main(void){
int i;
printf("Z か A ");
i = getch();
PrintMessage(i);
return EXIT_SUCCESS;
}
199デフォルトの名無しさん
2009/09/14(月) 19:59:25 適切なスレがあったら是非誘導お願いします。
C言語用の、データ構造やアルゴリズムのライブラリってありませんか?
C++ならばSTLやBoostがありますが、Cのためのそれらのようなものを探しています。
できればそれなりにユーザーもいて開発も続いているものが...
C言語用の、データ構造やアルゴリズムのライブラリってありませんか?
C++ならばSTLやBoostがありますが、Cのためのそれらのようなものを探しています。
できればそれなりにユーザーもいて開発も続いているものが...
200 ◆nullpop./c
2009/09/14(月) 20:35:09201デフォルトの名無しさん
2009/09/15(火) 07:54:09202デフォルトの名無しさん
2009/09/15(火) 22:36:28 >>200
つ[Numerical Recipies]
つ[Numerical Recipies]
203デフォルトの名無しさん
2009/09/15(火) 22:37:43 202s/200/201/
204デフォルトの名無しさん
2009/09/17(木) 22:47:59 入門書を・・・・買えばいいと思うよ
206デフォルトの名無しさん
2009/09/23(水) 20:17:28 C 言語を少し遣りたいのですが レス 返せる方居りますか?
207デフォルトの名無しさん
2009/09/23(水) 20:26:43 初歩的な質問で申し訳ないのですが?
決まった言語で在れば compiler は分かるのですが
C 言語での compiler と云うのが思い当たらないのです…
C 言語で compiler 処理はどの様に処理結果を出せば良いのでしょうか?
レス が無かったら悲しく クグル 事にします…
決まった言語で在れば compiler は分かるのですが
C 言語での compiler と云うのが思い当たらないのです…
C 言語で compiler 処理はどの様に処理結果を出せば良いのでしょうか?
レス が無かったら悲しく クグル 事にします…
208デフォルトの名無しさん
2009/09/23(水) 20:27:46 おりますが、C言語は少しやった程度でどうにかなるようなものではありません
本人の適性や学習ペースや目的にもよるものの、数ヶ月くらいは覚悟しましょう
本人の適性や学習ペースや目的にもよるものの、数ヶ月くらいは覚悟しましょう
209デフォルトの名無しさん
2009/09/23(水) 20:30:15210デフォルトの名無しさん
2009/09/23(水) 20:31:55 >>209
OS X です
OS X です
211デフォルトの名無しさん
2009/09/23(水) 20:33:41 >>209
gcc 系統の install はして居ります
gcc 系統の install はして居ります
212デフォルトの名無しさん
2009/09/23(水) 20:40:11 これだけで終わるのでしょうか…
213デフォルトの名無しさん
2009/09/23(水) 20:42:01 >>210
ターミナルを起動して
gcc filename.c
のように打てば、その filename.c がコンパイルされて a.out という実行ファイルが出来るので、
./a.out
と打てば実行される
ターミナルを起動して
gcc filename.c
のように打てば、その filename.c がコンパイルされて a.out という実行ファイルが出来るので、
./a.out
と打てば実行される
214デフォルトの名無しさん
2009/09/23(水) 20:50:23 >>209
以前は Linux でしたが?
多様性を考え Mac に移行した訳です…
個人で調べた結果 BSD 系程は command の充実は在りませんが?
自宅で BSD server を構築するのは
server 管理者の cost も負わなくては成らないので Mac と云う事です
以前は Linux でしたが?
多様性を考え Mac に移行した訳です…
個人で調べた結果 BSD 系程は command の充実は在りませんが?
自宅で BSD server を構築するのは
server 管理者の cost も負わなくては成らないので Mac と云う事です
215デフォルトの名無しさん
2009/09/23(水) 20:55:38216デフォルトの名無しさん
2009/09/23(水) 21:06:43217デフォルトの名無しさん
2009/09/24(木) 23:55:39 お前ゲームプログラムスレにいたキチガイだろwww
218デフォルトの名無しさん
2009/09/29(火) 11:24:04 >以前は Linux でしたが?
>個人で調べた結果 BSD 系程は command の充実は在りませんが?
何で質問しているの? 自分のことも判らないほど馬鹿なの?
>個人で調べた結果 BSD 系程は command の充実は在りませんが?
何で質問しているの? 自分のことも判らないほど馬鹿なの?
219デフォルトの名無しさん
2009/10/01(木) 12:00:21220デフォルトの名無しさん
2009/10/01(木) 13:42:50 >>219
連休だったんだろ。
連休だったんだろ。
221 ◆nullpop./c
2010/05/03(月) 20:06:36 int i = 10;
int * p = &i;//int型ポインタpにiのアドレスを代入する
簡単。
char str1[] = "abcde";
char * str2 = "abcde";
上と下は同じでどっちを使ってもいい。
int * p = &i;//int型ポインタpにiのアドレスを代入する
簡単。
char str1[] = "abcde";
char * str2 = "abcde";
上と下は同じでどっちを使ってもいい。
222 ◆nullpop./c
2010/05/03(月) 20:10:42 証明
int _cdecl main(void){
char str1[] = "abcde";
char * str2 = "abcde";
puts(str1);puts(str2);//abcdeabcde
if (strlen(str1) ==strlen(str2)) puts("str1 str2 is same!"):
str2=str1;
printf("%c", 2[str2]);//c
return 0;
}
int _cdecl main(void){
char str1[] = "abcde";
char * str2 = "abcde";
puts(str1);puts(str2);//abcdeabcde
if (strlen(str1) ==strlen(str2)) puts("str1 str2 is same!"):
str2=str1;
printf("%c", 2[str2]);//c
return 0;
}
223デフォルトの名無しさん
2010/05/03(月) 23:35:03 >>221-222
ネタ?
ネタ?
224 ◆nullpop./c
2010/05/03(月) 23:39:41 マジにネタレスご苦労
225デフォルトの名無しさん
2010/05/04(火) 00:47:59 > char str1[] = "abcde";
> char * str2 = "abcde";
> 上と下は同じでどっちを使ってもいい。
以下の実行結果を検証してみること。
int main(){
char str1[] = "abcde";
char * str2 = "abcde";
printf("%d\n", sizeof(str1));
printf("%d\n", sizeof(str2));
return 0;
}
> char * str2 = "abcde";
> 上と下は同じでどっちを使ってもいい。
以下の実行結果を検証してみること。
int main(){
char str1[] = "abcde";
char * str2 = "abcde";
printf("%d\n", sizeof(str1));
printf("%d\n", sizeof(str2));
return 0;
}
226デフォルトの名無しさん
2010/05/04(火) 04:09:32 >>225
カッコつけてんじゃねーよド素人。
カッコつけてんじゃねーよド素人。
227デフォルトの名無しさん
2010/05/04(火) 04:37:15 >>226
括弧つけてはいけないという法は無い
括弧つけてはいけないという法は無い
228 ◆nullpop./c
2010/05/04(火) 05:47:29229デフォルトの名無しさん
2010/05/04(火) 06:25:53230デフォルトの名無しさん
2010/05/04(火) 06:40:27231デフォルトの名無しさん
2010/05/04(火) 07:03:36 MOVE.L D0,2(A0)
こんな形に近くて美しく見えなくもない。
こんな形に近くて美しく見えなくもない。
232デフォルトの名無しさん
2010/05/04(火) 08:18:42 アセンブラじゃなくてC言語をやりたいんですが
233デフォルトの名無しさん
2010/05/04(火) 13:25:18 はい
234デフォルトの名無しさん
2010/05/04(火) 16:26:42 はい
235デフォルトの名無しさん
2010/05/04(火) 23:44:37236デフォルトの名無しさん
2010/06/02(水) 17:54:13 教えてください。
gccで画面に直線描くのはどうやるのですか。
私は、今春定年退職した暇人で、c言語入門者です。
よろしくお願いします。
gccで画面に直線描くのはどうやるのですか。
私は、今春定年退職した暇人で、c言語入門者です。
よろしくお願いします。
237デフォルトの名無しさん
2010/06/02(水) 18:38:59 環境による
共通のやり方は無い
共通のやり方は無い
238デフォルトの名無しさん
2010/06/02(水) 19:06:32239デフォルトの名無しさん
2010/06/03(木) 08:28:30240デフォルトの名無しさん
2010/06/03(木) 13:29:17 括弧つけたほうが視認性が上がると思ってる場合は無駄でもつけてる
三項演算子とかreturnとか
三項演算子とかreturnとか
241デフォルトの名無しさん
2010/06/03(木) 14:20:17 returnに括弧って、タイプミスしたときに別名の関数と誤認されるからしないほうがいいって言われた。
242デフォルトの名無しさん
2010/06/03(木) 15:12:23 sizeof() は誤認されないか?
243デフォルトの名無しさん
2010/06/03(木) 15:16:32 sizeof も基本はいらないけど、どうしても必要な場合が多いからなあ
244デフォルトの名無しさん
2010/08/26(木) 16:58:39 C言語がしたいです……
ttp://img.mag2.com/editor/taiatari/080625/no2_m1_larg.jpg
ttp://img.mag2.com/editor/taiatari/080625/no2_m1_larg.jpg
245デフォルトの名無しさん
2010/08/26(木) 20:33:05 sizeof の括弧は要る場合の方が多いだろ
246デフォルトの名無しさん
2010/09/05(日) 03:40:34 皆さんこんにちわ!C言語初心者です。よろしくお願いします。いきなりの質問で
すみません!C言語標準ライブラリィ関数を例題を示して説明している本は何かあり
ますか?教えてください。
すみません!C言語標準ライブラリィ関数を例題を示して説明している本は何かあり
ますか?教えてください。
247デフォルトの名無しさん
2010/09/06(月) 23:58:20248デフォルトの名無しさん
2010/09/16(木) 03:24:55 標準ライブラリすべてを網羅しているとなると、H&Sしかないのでは?
というか、K&Rで不満なら、H&Sしかないような気がする。
あとはもう少し分野を特定してくれれば、適切な本があるかも。
というか、K&Rで不満なら、H&Sしかないような気がする。
あとはもう少し分野を特定してくれれば、適切な本があるかも。
249デフォルトの名無しさん
2010/11/26(金) 13:20:22 C言語ならオレに聞けPart74 こちらに引っ越しました。
250デフォルトの名無しさん
2011/01/23(日) 19:37:49 すいません。コンパイルしようと思ったらvcvers32が外部と内部で実行できません。って
出てきたんですけど・・・・どうすればいいんですか?
出てきたんですけど・・・・どうすればいいんですか?
251デフォルトの名無しさん
2011/01/24(月) 08:13:50 諦める
252 ◆nullpop./c
2011/01/27(木) 20:01:49 誰か構ってくれ〜 ゚∩ :ノノ ゚ し′
,,------ 、 ノノ ∪ ∩
/: ____▽,,,,,,_ヽ 。:∪・ ⊂ヽ ノノ :∩
} i:ェェヮi ト.ェェ:-i { /⌒Y⌒\ プ :):) じ :ノノ 。
ヾ::/イ__l丶 r'1ノ ノ ) じ :∩ 。 ( (
.}::l: ゝ--イ l:: {^\ビチグソ | . ヽヽ ヽj
ト!;_`二´_,,;!イ| | ノ :| ∩ じ
| |__三___| |_/| | ノノ ∩ :∩
| | ヽ| ト' | |/^ヽ じ :ノノ ∵ :ヽヽ
| | | |_/ ヽ__人_ノ ∪ し′
⊆, っ とーっ
,,------ 、 ノノ ∪ ∩
/: ____▽,,,,,,_ヽ 。:∪・ ⊂ヽ ノノ :∩
} i:ェェヮi ト.ェェ:-i { /⌒Y⌒\ プ :):) じ :ノノ 。
ヾ::/イ__l丶 r'1ノ ノ ) じ :∩ 。 ( (
.}::l: ゝ--イ l:: {^\ビチグソ | . ヽヽ ヽj
ト!;_`二´_,,;!イ| | ノ :| ∩ じ
| |__三___| |_/| | ノノ ∩ :∩
| | ヽ| ト' | |/^ヽ じ :ノノ ∵ :ヽヽ
| | | |_/ ヽ__人_ノ ∪ し′
⊆, っ とーっ
253 ◆nullpop./c
2011/05/03(火) 18:33:18.02 コンパイラ(1/4)
コンパイラは最適化をかけることができ
-O1 -O2 -O3などでその意味あ変える。
-O1 速度
-O2 最適
-O3 強すぎ
最適化はループ内定数の外し
計算の定数化
無駄な関数の削除
を行う
コンパイラは最適化をかけることができ
-O1 -O2 -O3などでその意味あ変える。
-O1 速度
-O2 最適
-O3 強すぎ
最適化はループ内定数の外し
計算の定数化
無駄な関数の削除
を行う
254天使 ◆uL5esZLBSE
2011/07/03(日) 08:27:15.54 2011年になっても未だにJAVA使い続けてる奴ってさ
仕事で仕方なくならわかるけど
家でもJAVAやってるなら本当にバカだよね。哀れ
死ねゴミ
仕事で仕方なくならわかるけど
家でもJAVAやってるなら本当にバカだよね。哀れ
死ねゴミ
255 ◆nullpop./c
2011/07/03(日) 22:54:55.93 ↑
言語厨って哀れだな
言語厨って哀れだな
256デフォルトの名無しさん
2011/07/11(月) 12:48:19.74 JavaScriptをやってる奴も市ねゴミなんだな
258デフォルトの名無しさん
2012/06/26(火) 10:04:34.66259デフォルトの名無しさん
2012/08/27(月) 04:24:38.98 #define ARRAY_SIZE 8
#include <stdio.h>
int main(int argc, char *argv[])
{
char a;
int mask, i;
int c[ARRAY_SIZE] = {128, 64, 32, 16, 8, 4, 2, 1};
switch(argc) {
case 2:
a = *argv[1];
printf("%02Xh\n", a);
break;
default:
fprintf(stderr, "bits a\n");
exit(0);
}
for(i = 0; i < ARRAY_SIZE; i++) {
mask = c[i];
if( (a & mask) == mask ) {
printf("1");
} else {
printf("0");
}
}
return 0;
}
#include <stdio.h>
int main(int argc, char *argv[])
{
char a;
int mask, i;
int c[ARRAY_SIZE] = {128, 64, 32, 16, 8, 4, 2, 1};
switch(argc) {
case 2:
a = *argv[1];
printf("%02Xh\n", a);
break;
default:
fprintf(stderr, "bits a\n");
exit(0);
}
for(i = 0; i < ARRAY_SIZE; i++) {
mask = c[i];
if( (a & mask) == mask ) {
printf("1");
} else {
printf("0");
}
}
return 0;
}
260デフォルトの名無しさん
2012/08/27(月) 04:32:43.10 >>259
#include <stdlib.h>を追加
#include <stdlib.h>を追加
261デフォルトの名無しさん
2012/09/05(水) 06:18:48.16 D:\work>bits "&"
26h
00100110
26h
00100110
262デフォルトの名無しさん
2013/07/17(水) NY:AN:NY.AN char a[6];
a[i]のアドレスは、a + i
a[i]
↓
*( a + i )
char a[6][6];
a[i][j]のアドレスは、*( a + i ) + j
a[i][j]
↓
*( a[i] + j )
↓
*( *(a + i) + j )
a[i]のアドレスは、a + i
a[i]
↓
*( a + i )
char a[6][6];
a[i][j]のアドレスは、*( a + i ) + j
a[i][j]
↓
*( a[i] + j )
↓
*( *(a + i) + j )
263デフォルトの名無しさん
2013/07/18(木) NY:AN:NY.AN j[i[a]]
264デフォルトの名無しさん
2014/03/09(日) 22:36:32.65 Downloads: approx. 900kb
Auto C 3.6.58 Current version
Version 3.6.58 - February 25, 2014:
http://autoc.wolosoft.com/verhist.html
Auto C 3.6.58 Current version
Version 3.6.58 - February 25, 2014:
http://autoc.wolosoft.com/verhist.html
265デフォルトの名無しさん
2014/05/10(土) 11:15:02.11ID:ejXJmmlt #include <stdio.h>
int main(void)
{
typedef int * INT_POINTER;
INT_POINTER a, b;
int m, n;
a = &m;
b = &n;
*a = 2;
*b = 1000;
printf("%d\n%d\n", m, n);
return 0;
}
int main(void)
{
typedef int * INT_POINTER;
INT_POINTER a, b;
int m, n;
a = &m;
b = &n;
*a = 2;
*b = 1000;
printf("%d\n%d\n", m, n);
return 0;
}
266デフォルトの名無しさん
2015/02/24(火) 12:04:44.91ID:B4atg286 「C MAGAZINEのバックナンバーが電子書籍として販売開始された模様(AmazonのKindleストア」
C MAGAZINEのバックナンバーの電子版、1冊80円で提供開始 | スラッシュドット・ジャパン デベロッパー
http://developers.slashdot.jp/story/14/06/26/0425238/
2014年06月26日 14時34分
C MAGAZINEのバックナンバーの電子版、1冊80円で提供開始 | スラッシュドット・ジャパン デベロッパー
http://developers.slashdot.jp/story/14/06/26/0425238/
2014年06月26日 14時34分
267デフォルトの名無しさん
2015/03/09(月) 20:12:49.16ID:YsuhcNZs #define BINARY_1 1
#define BINARY_10 2
#define BINARY_100 4
#define BINARY_1000 8
#include <stdio.h>
int main(void)
{
const int SHIFT_COUNT = 31;
int count, i, msb;
int e = 0x00000001;
int test = BINARY_10 | BINARY_100 | BINARY_1000; /* 00001110b */
for(i = 0; i < SHIFT_COUNT; i++) {
e <<= 1;
}
for(count = 0, i = 0; i < SHIFT_COUNT; i++) {
if(test & e) {
count += 1;
}
test <<= 1;
}
printf("%d\n", count);
return 0;
}
/*
C:\work>shiftand
3
*/
#define BINARY_10 2
#define BINARY_100 4
#define BINARY_1000 8
#include <stdio.h>
int main(void)
{
const int SHIFT_COUNT = 31;
int count, i, msb;
int e = 0x00000001;
int test = BINARY_10 | BINARY_100 | BINARY_1000; /* 00001110b */
for(i = 0; i < SHIFT_COUNT; i++) {
e <<= 1;
}
for(count = 0, i = 0; i < SHIFT_COUNT; i++) {
if(test & e) {
count += 1;
}
test <<= 1;
}
printf("%d\n", count);
return 0;
}
/*
C:\work>shiftand
3
*/
268デフォルトの名無しさん
2015/03/09(月) 21:26:16.39ID:YsuhcNZs いろいろまちがえた
269デフォルトの名無しさん
2015/03/09(月) 21:27:25.50ID:YsuhcNZs #define BINARY_1 1
#define BINARY_10 2
#define BINARY_100 4
#define BINARY_1000 8
#include <stdio.h>
int main(void)
{
const int SHIFT_COUNT = 31;
int count, i;
int e = 0x00000001;
int test = BINARY_1 | BINARY_1000; /* 00001001b */
for(i = 0; i < SHIFT_COUNT; i++) {
e <<= 1;
}
for(count = 0, i = 0; i < SHIFT_COUNT + 1; i++) { /* 32 */
if(test & e) {
count += 1;
}
test <<= 1;
}
printf("%d\n", count);
return 0;
}
/*
C:\work>shiftand
2
*/
#define BINARY_10 2
#define BINARY_100 4
#define BINARY_1000 8
#include <stdio.h>
int main(void)
{
const int SHIFT_COUNT = 31;
int count, i;
int e = 0x00000001;
int test = BINARY_1 | BINARY_1000; /* 00001001b */
for(i = 0; i < SHIFT_COUNT; i++) {
e <<= 1;
}
for(count = 0, i = 0; i < SHIFT_COUNT + 1; i++) { /* 32 */
if(test & e) {
count += 1;
}
test <<= 1;
}
printf("%d\n", count);
return 0;
}
/*
C:\work>shiftand
2
*/
270デフォルトの名無しさん
2015/03/10(火) 01:42:09.98ID:MZ8Gg0aD 31ビットならできた
271デフォルトの名無しさん
2015/03/10(火) 01:43:28.66ID:MZ8Gg0aD #define BINARY_1 1
#define BINARY_10 2
#define BINARY_100 4
#define BINARY_1000 8
#include <stdio.h>
int main(void)
{
const int SHIFT_COUNT = 30;
int count, i, e = 0x00000001;
int test = BINARY_1 | BINARY_100 | BINARY_1000; /* 00001101b */
int repetition = SHIFT_COUNT + 1;
for(i = 0; i < SHIFT_COUNT; i++) {
e <<= 1;
}
if(e < 0) {
printf("e = %d\n", e);
return 1;
}
for(count = 0, i = 0; i < repetition; i++) {
if(test & e) {
count += 1;
}
e >>= 1;
}
printf("%d\n", count);
return 0;
}
#define BINARY_10 2
#define BINARY_100 4
#define BINARY_1000 8
#include <stdio.h>
int main(void)
{
const int SHIFT_COUNT = 30;
int count, i, e = 0x00000001;
int test = BINARY_1 | BINARY_100 | BINARY_1000; /* 00001101b */
int repetition = SHIFT_COUNT + 1;
for(i = 0; i < SHIFT_COUNT; i++) {
e <<= 1;
}
if(e < 0) {
printf("e = %d\n", e);
return 1;
}
for(count = 0, i = 0; i < repetition; i++) {
if(test & e) {
count += 1;
}
e >>= 1;
}
printf("%d\n", count);
return 0;
}
272デフォルトの名無しさん
2015/03/12(木) 05:32:20.41ID:rxquKj4G /* >>267 */
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char *stop;
const int BIT_COUNT = 31;
int count, i;
const int e = (int)strtol("01000000000000000000000000000000b", &stop, 2);
int test = (int)strtol("00000000000000000000000000001110b", &stop, 2);
for(count = 0, i = 0; i < BIT_COUNT; i++) {
if(test & e) {
count += 1;
}
test <<= 1;
}
printf("%d\n", count);
return 0;
}
/*
C:\work>shiftand
3
*/
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char *stop;
const int BIT_COUNT = 31;
int count, i;
const int e = (int)strtol("01000000000000000000000000000000b", &stop, 2);
int test = (int)strtol("00000000000000000000000000001110b", &stop, 2);
for(count = 0, i = 0; i < BIT_COUNT; i++) {
if(test & e) {
count += 1;
}
test <<= 1;
}
printf("%d\n", count);
return 0;
}
/*
C:\work>shiftand
3
*/
273デフォルトの名無しさん
2015/06/20(土) 05:51:34.80ID:yI5o7iEC いまだに原理わかってません^^
size_t count_bits_32( unsigned _int32 val )
{
val = ( 0x55555555 & val ) + ( 0x55555555 & ( val >> 001 ) );
val = ( 0x33333333 & val ) + ( 0x33333333 & ( val >> 002 ) );
val = ( 0x0f0f0f0f & val ) + ( 0x0f0f0f0f & ( val >> 004 ) );
val = ( 0x00ff00ff & val ) + ( 0x00ff00ff & ( val >> 010 ) );
val = ( 0x0000ffff & val ) + ( 0x0000ffff & ( val >> 020 ) );
return ( size_t )val;
}
size_t count_bits_32( unsigned _int32 val )
{
val = ( 0x55555555 & val ) + ( 0x55555555 & ( val >> 001 ) );
val = ( 0x33333333 & val ) + ( 0x33333333 & ( val >> 002 ) );
val = ( 0x0f0f0f0f & val ) + ( 0x0f0f0f0f & ( val >> 004 ) );
val = ( 0x00ff00ff & val ) + ( 0x00ff00ff & ( val >> 010 ) );
val = ( 0x0000ffff & val ) + ( 0x0000ffff & ( val >> 020 ) );
return ( size_t )val;
}
274デフォルトの名無しさん
2016/10/13(木) 11:47:21.02ID:mw9SJIVD #define WHAT_NUMBER 9821 /* 0010011001011101b or 265Dh */
#define WHICH_BIT 4
#define MASK_SIZE 32
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char *stop;
int MASK[MASK_SIZE];
int b = 1;
int bit = WHICH_BIT;
int k = 0;
int n = WHAT_NUMBER;
MASK[k] = b;
for(k = 1; k < MASK_SIZE; k++) {
b = 2 * b;
MASK[k] = b;
}
if(argc == 2) {
bit = (int)strtol(argv[1], &stop, 10);
}
b = n & MASK[bit];
b = b == MASK[bit] ? 1 : 0;
printf(
#define WHICH_BIT 4
#define MASK_SIZE 32
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char *stop;
int MASK[MASK_SIZE];
int b = 1;
int bit = WHICH_BIT;
int k = 0;
int n = WHAT_NUMBER;
MASK[k] = b;
for(k = 1; k < MASK_SIZE; k++) {
b = 2 * b;
MASK[k] = b;
}
if(argc == 2) {
bit = (int)strtol(argv[1], &stop, 10);
}
b = n & MASK[bit];
b = b == MASK[bit] ? 1 : 0;
printf(
275デフォルトの名無しさん
2016/10/13(木) 11:49:18.05ID:mw9SJIVD C:\work>bits2 6
b = 1
C:\work>bits2 7
b = 0
C:\work>bits2 8
b = 0
C:\work>bits2 9
b = 1
C:\work>bits2 10
b = 1
C:\work>bits2 11
b = 0
C:\work>bits2 12
b = 0
C:\work>bits2 13
b = 1
C:\work>bits2 14
b = 0
C:\work>bits2 15
b = 0
b = 1
C:\work>bits2 7
b = 0
C:\work>bits2 8
b = 0
C:\work>bits2 9
b = 1
C:\work>bits2 10
b = 1
C:\work>bits2 11
b = 0
C:\work>bits2 12
b = 0
C:\work>bits2 13
b = 1
C:\work>bits2 14
b = 0
C:\work>bits2 15
b = 0
276デフォルトの名無しさん
2016/11/14(月) 13:59:06.14ID:qs04J1oz #define BUFFER_SIZE 128
#include <stdio.h>
#include <string.h>
typedef struct INT_CHAR INT_CHAR;
struct INT_CHAR {
int n;
char c[BUFFER_SIZE];
};
INT_CHAR function(void) {
INT_CHAR ic;
strcpy(ic.c, "messages");
ic.n = strlen(ic.c);
return ic;
}
int main(void)
{
INT_CHAR s;
s = function();
printf(\"%s (%d)\n\", s.c, s.n);
return 0;
}
#include <stdio.h>
#include <string.h>
typedef struct INT_CHAR INT_CHAR;
struct INT_CHAR {
int n;
char c[BUFFER_SIZE];
};
INT_CHAR function(void) {
INT_CHAR ic;
strcpy(ic.c, "messages");
ic.n = strlen(ic.c);
return ic;
}
int main(void)
{
INT_CHAR s;
s = function();
printf(\"%s (%d)\n\", s.c, s.n);
return 0;
}
277デフォルトの名無しさん
2016/11/23(水) 10:59:32.83ID:8cJNovPT /* boolfunc.c */
#include <stdio.h>
#include <stdlib.h>
typedef int (*INT_FUNCTION)(int);
int one_three(int n) {return (n + 1)%3;}
int two(int n) {return n%2;}
int nine(int n) {return n%9 > 0 ? 0 : 1;}
int main(int argc, char *argv[]) {
char *p;
int k;
int n = 23;
int r = 1;
INT_FUNCTION func[4];
if(argc == 2) n = (int)strtol(argv[1], &p, 10); /* C:\work\boolfunc 9 */
func[1] = one_three;
func[2] = two;
func[3] = nine;
for(k = 1; k <= 3; k++) {
if( func[k](n) == 0 ) {
r = 0;
break;
}
}
if(r) puts(
#include <stdio.h>
#include <stdlib.h>
typedef int (*INT_FUNCTION)(int);
int one_three(int n) {return (n + 1)%3;}
int two(int n) {return n%2;}
int nine(int n) {return n%9 > 0 ? 0 : 1;}
int main(int argc, char *argv[]) {
char *p;
int k;
int n = 23;
int r = 1;
INT_FUNCTION func[4];
if(argc == 2) n = (int)strtol(argv[1], &p, 10); /* C:\work\boolfunc 9 */
func[1] = one_three;
func[2] = two;
func[3] = nine;
for(k = 1; k <= 3; k++) {
if( func[k](n) == 0 ) {
r = 0;
break;
}
}
if(r) puts(
278デフォルトの名無しさん
2016/11/23(水) 11:05:35.80ID:8cJNovPT /* boolfunc.c */
#include <stdio.h>
#include <stdlib.h>
typedef int (*INT_FUNCTION)(int);
int one_three(int n) {return (n + 1)%3;}
int two(int n) {return n%2;}
int nine(int n) {return n%9 > 0 ? 0 : 1;}
int main(int argc, char *argv[]) {
char *p;
char c[4];
int k;
int n = 23;
int r = 1;
INT_FUNCTION func[4];
if(argc == 2) n = (int)strtol(argv[1], &p, 10); /* C:\work\boolfunc 9 */
func[1] = one_three;
func[2] = two;
func[3] = nine;
for(k = 1; k <= 3; k++) {
if( func[k](n) == 0 ) {
r = 0;
break;
}
}
if(r) strcpy(c, "OK");
else strcpy(c, "END");
puts(c);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
typedef int (*INT_FUNCTION)(int);
int one_three(int n) {return (n + 1)%3;}
int two(int n) {return n%2;}
int nine(int n) {return n%9 > 0 ? 0 : 1;}
int main(int argc, char *argv[]) {
char *p;
char c[4];
int k;
int n = 23;
int r = 1;
INT_FUNCTION func[4];
if(argc == 2) n = (int)strtol(argv[1], &p, 10); /* C:\work\boolfunc 9 */
func[1] = one_three;
func[2] = two;
func[3] = nine;
for(k = 1; k <= 3; k++) {
if( func[k](n) == 0 ) {
r = 0;
break;
}
}
if(r) strcpy(c, "OK");
else strcpy(c, "END");
puts(c);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- サナエノミクスについて力説 積極的な財政出動で「所得増える 消費マインド上がる 税収増える」片山さつき財務大臣 ★3 [少考さん★]
- 中国軍機のレーダー照射1週間 駆け引き続く 中国、米のレッドライン模索 日本、米以外の同志国とも連携探る 米は対立から距離置く★2 [ぐれ★]
- 鈴木農相「おこめ券はお米しか買えないわけではない。例えば卵、味噌、しょうゆ、こうした購入に利用可能」 ★4 [Hitzeschleier★]
- 【芸能】粗品、日本テレビに苦言 客のレベルが「かなり低い。あいつら分かってない」「拍手したいだけやねん」 [冬月記者★]
- 橋下徹氏「総理なら岡田さんに何を聴かれても耐えてほしかった」 高市首相の台湾有事めぐる答弁に# [jinjin★]
- 【静岡】伊東市長選、前市議の杉本氏初当選 学歴詐称疑惑の田久保氏は及ばず 市長選3700万円、市議選6300万円の計1億円費やされる [ぐれ★]
- 誰もいない....ワショーイするなら今のうち
- 上野動物園の双子パンダ、来月中国に返還へ。50年ぶりに国内でパンダ不在 [545512288]
- 名家、斧命粉女家、当主太蔵。細君泰子と3子をもうける
- 悪夢しか見ないわ
- 日本のアニメが世界でウケてるのって結局萌えアニメだからだろ?
- 岩手県警、公文書偽造をした警察官を減給処分のみ。法定刑は1年以上10年以下の懲役だが… [776365898]
