- 1 名前:デフォルトの名無しさん [2018/09/19(水) 17:56:50.83 ID:XSTNMnDwa.net]
- C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 147 mevius.5ch.net/test/read.cgi/tech/1534430162/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
- 487 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:18:15.13 ID:e2K2pEIVa.net]
- パス名でしか読み込めないクソライブラリをありもので解決するならramdiskしかないな
ライブラリを修正できるなら俺だったら読み込み処理をコールバックにする
- 488 名前:459 mailto:sage [2018/10/01(月) 12:26:59.19 ID:0BEK1cUt0.net]
- みなさんありがとうございます。むずかしそうですね…
ファイルの仕様も公開されてないので自分で描き直すのもむずかしいです… 理想的な流れとして以下のように出来ればいいのですがむずかしいのですかね… 1 暗号化したファイル読み込み 2 暗号解除 3 メモリに元ファイルとして生成 4 ファイル名を元ファイルを読み込む関数に渡してメモリ上のファイルを読み込む
- 489 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:28:50.21 ID:0BEK1cUt0.net]
- >>473
ramdiskですか。ちょっとそちらで調べてみます。ありがとうございます。
- 490 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:47:38.04 ID:AKKTs5+S0.net]
- ramdisk も中間ファイル書き出してその名前を渡すのとかわらんでしょ
いずれにしろ復号済みのファイルが実体化しちゃってる
- 491 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 12:57:10.39 ID:UNHR2HPsx.net]
- >>474
難しいというか、技術的な実現方法はいくつか思いつくけど要件がよく分からないのでこれにすべきと言えないだけ。
- 492 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:02:33.93 ID:e2K2pEIVa.net]
- >>475
面倒な手順だけど、fuse+ramfsってのもあるか windowsにramfsがあるか知らんけど
- 493 名前:デフォルトの名無しさん [2018/10/01(月) 13:15:50.57 ID:yvyswmJaa.net]
- >>474
RAMディスクなら速いだろうけど普通のファイルシステムとアクセス方法は同じだから普通にディスクにファイル作っても同じだよ。 そのディスクがSSDならば正にRAMディスクだしな(ちょっと遅いかも知れないが)。 そのファイルは本当にRAMディスクのような高速アクセスできるようなファイルシステム上に作らねばならないものなのか?
- 494 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:19:01.59 ID:0BEK1cUt0.net]
- >>476-478
みなさんありがとうございます。 要件としては元のファイル自体が公開されているライブラリで読み込めてしまうのでそれを防止したいんです。 ようは簡単に読み込めなく出来ればいいだけなんですね。 >>474でも一応メモリ内に復号後のものが実体化されちゃいますがとりあえずこれが出来ればいいかなと。 もう少し自分でも色々調べてみます。
- 495 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:21:27.31 ID:AKKTs5+S0.net]
- >>480
メモリ内だけじゃなくエクスプローラから丸みえだし、ファイルも普通に読み書きできるよ? <ramdisk
- 496 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:24:04.57 ID:0BEK1cUt0.net]
- >>479
なんというか単に目に見えるところに作りたくないというだけなんですね。 原理的には読めちゃうんだと思いますがとりあえず素で通常のディスクに書き出すよりは少しはマシかなと。
- 497 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:25:19.86 ID:0BEK1cUt0.net]
- >>481
ramdiskはそうなんですね… それだとマズイなあ… やっぱり見えない形で展開できればいいんですが。
- 498 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:30:03.85 ID:UNHR2HPsx.net]
- RAMDiskをNTFSでフォーマットして適切なPermission管理すれば良いんじゃね?
- 499 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 13:40:12.23 ID:0BEK1cUt0.net]
- あとRAMDiskについては使用者のPCに勝手にそういう領域を作っても問題ないのかも気になりました。
アプリが終了すれば常に確実に領域がクリアされ解放されればいいんですが何かのアクシデントで残ってしまわないかとか。 もうちょっと自分でも色々考えてみます。
- 500 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:13:49.93 ID:2kmJAioya.net]
- 隠蔽か
- 501 名前:ツ高揮発?を実現したいということならいろいろありそう。
windowsのfuseって昔あったよな。 [] - [ここ壊れてます]
- 502 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:51:25.74 ID:tOl4q5VhM.net]
- Windows詳しいマンはおらんのか
- 503 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 14:56:04.14 ID:n3AkgheKM.net]
- だからAPI Hookだって。
- 504 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 17:27:27.14 ID:sRgrdSMiM.net]
- すでに出てるけど、名前付きパイプかファイルマッピングオブジェクトじゃいかんのか
- 505 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 17:41:52.83 ID:qsdLJDx40.net]
- Windowsの話してやってんのに通じないやつが何か文句言ってらあ
- 506 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 19:43:43.06 ID:3ZN7cetya.net]
- パス名経由でしか読み込めないんだからありもので対処するならOS経由の手段に限られる
クソライブラリに手を加えられないなら自作するかramdiskで我慢するしかないよ
- 507 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 20:18:05.62 ID:xRBX1/Y3M.net]
- もちろんwindowsの話なんだけどな
- 508 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 20:50:02.06 ID:73T+9RSN0.net]
- >>488 狙うとすれば ReadFile あたりだろうけど、あまりに根っこ過ぎて
ちゃんと狙い撃ちしたい箇所だけに限定できるのか正直わからんところ
- 509 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:43:55.95 ID:n3AkgheKM.net]
- >>493
狙うならCreateFileだと考えてた。 予めメモリマツプトファイルに復号化しておいてそのハンドル返せば、後はReadFileはHookしなくても煮るなり焼くなり好きにしてもらったら良いと。
- 510 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 21:58:38.38 ID:2kmJAioya.net]
- dropboxとか具体的にどういう技術なん?
- 511 名前:デフォルトの名無しさん mailto:sage [2018/10/01(月) 22:54:48.81 ID:2yHgzixG0.net]
- APIHookかVFSを自分で実装するかになるんじゃね
前者の方が簡単そうだな
- 512 名前:デフォルトの名無しさん [2018/10/01(月) 23:58:25.83 ID:zfKNS/F/0.net]
- CreateFileMappingにわたすCreateFileのファイルハンドルは
すでにファイルシステムと関連付けられたファイルハンドルになる メモリならINVALID_HANDLE_VALUEを渡す ドキュメントにしっかり書いてあるのに 相変わらず低学歴知恵遅れは 口からデマカセの頭悪いテキトーなことばっかりいってるわ。。。
- 513 名前:デフォルトの名無しさん [2018/10/02(火) 00:01:04.71 ID:R8M7QKDK0.net]
- そもそも質問してるヤツはファイルシステムに復号化されたファイルができるのがダメといってるのに
相変わらずだわ。。。
- 514 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:19:59.97 ID:9fPP7dMwM.net]
- ならばどうする半角よ
貴様の格の違いを見せてやれ
- 515 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:24:37.79 ID:69sVZg4Ka.net]
- この流れで初書き込みだけどソースが公開されていないで思いどうりに読み込めないのであれば自分で実装したほうがいいんじゃね
バイナリモードで読み込めばいいんじゃないの
- 516 名前:デフォルトの名無しさん [2018/10/02(火) 00:31:01.73 ID:Cp0nvcbE0.net]
- また自演か
- 517 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:35:23.62 ID:nity8XPfa.net]
- 499だけどオレが自演って事になってるのか?
- 518 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 00:40:31.83 ID:6wQ+/Q1Ma.net]
- dropboxは非同期にrsyncみたいなことしてる感じだな。
ここで求められてるのは同期だね
- 519 名前:デフォルトの名無しさん [2018/10/02(火) 00:55:56.80 ID:R8M7QKDK0.net]
- 検討がつかない
そもそも使ってる関数のソースが未公開の前提らしいからな 中でなにやってるかなんかまったく分からんからこういう質問してるんだろうしな きっとReadFileを呼んでるのだろうという程度のことしか分からない それは質問してるヤツもその程度は分かってるハズ そして、そのファイルを読み込む関数のインターフェースもよく分からない ファイルハンドルを渡すのかファイルパス渡すとかも分からない 情報が一切ないから検討しようがないといいたいが 両方とも検討した結果、簡単ないい方法が思いつかない 別プロセスにしてCONIN$使うとかインチキくさい方法ぐらいしかパッと思いつかなかった でな、この要件に至るまでの根本的な部分について知りたい その暗号化したファイルを今までどうやって出力してたかという部分に
- 520 名前:ネる
読み込みはその操作と逆の操作をすればいいハズだからな もし暗号化して出力するときに、平文のファイルを一時的にテンポラリに出力してから暗号化してるなら 入力するときに平文のファイルを一時的にテンポラリに出力するのは許容範囲になると言い張れれば コレで解決する コレでイケルハズ [] - [ここ壊れてます]
- 521 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 01:03:57.23 ID:6wQ+/Q1Ma.net]
- そうじゃなくて、生データを隠したいんじゃないか?
- 522 名前:459 mailto:sage [2018/10/02(火) 02:49:53.61 ID:qS1Sk5MG0.net]
- みなさん色々と案をありがとうございます。
あれから自分で調べたり考えたりしてたんですが どうにかファイルの構造を知る事が出来そうで 中身を自分で書き換える(復号化ロジック込みの読み込み関数を書く)事にしました。 非常にお騒がせしてしまいまして申し訳ございませんでした!
- 523 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 04:36:17.92 ID:yoF3UpeG0.net]
- Cのテスト関係のツールでおすすめとかありますか?
業務ではなく個人の趣味としてのプログラミングなので,できれば無償・オープンソースなのがいいです。 https://en.wikipedia.org/wiki/List_of_unit_testing_frameworks#C ここを見ると,やはりCに関しても単体テストが最適なようですが…
- 524 名前:デフォルトの名無しさん [2018/10/02(火) 04:42:42.21 ID:Cp0nvcbE0.net]
- 本当に自演が大好きなんだな
- 525 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 06:50:29.85 ID:yoF3UpeG0.net]
- ? え,もしかして俺に対して?
そうだとしたら まったくの言い掛かりなんだけど……。 純粋に,単体テストのおすすめを訊きたいだけ。
- 526 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 11:07:45.33 ID:Yfg2/nZYa.net]
- >>509
世の中のすべてが自演に見えちゃう病気の人かも知れないから、スルーしておけばいいんじゃない?
- 527 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 11:08:35.53 ID:EEmEj/et0.net]
- まーた自演か
- 528 名前:デフォルトの名無しさん [2018/10/02(火) 12:14:34.37 ID:RjhRAQY1a.net]
- まーた自演か
- 529 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 13:22:40.96 ID:kk/2dA0Y0.net]
- 「自演じゃないもん」なんて弁明しても証明できないところで相手すんなよ
無駄なことをする姿がバカっぽいぞ
- 530 名前:デフォルトの名無しさん [2018/10/02(火) 13:39:01.10 ID:RjhRAQY1a.net]
- 自演じゃないもん
- 531 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 19:19:05.31 ID:Fj/XybmQM.net]
- ウィザードブックで勉強したって方いますか?
Cのレベル上げにも役立つかしら・・・
- 532 名前:デフォルトの名無しさん [2018/10/02(火) 20:40:47.26 ID:R8M7QKDK0.net]
- ココまでオレのジエン
- 533 名前:デフォルトの名無しさん [2018/10/02(火) 20:51:11.45 ID:hjXu6C7/a.net]
- >>515
ウィザードブックってなに?
- 534 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 20:53:08.03 ID:pF626ax10.net]
- 魔法使いがevalとapplyの球もってる奴じゃね
- 535 名前:デフォルトの名無しさん mailto:sage [2018/10/02(火) 22:09:38.52 ID:Fj/XybmQM.net]
- 愛称違ったっけ?
『計算機プログラムの構造と解釈』です >>518 です λのやつ
- 536 名前: mailto:sage [2018/10/02(火) 22:37:55.33 ID:WWljJiuT0.net]
- >>519
一般の人間が翻訳に参入しているようですね
- 537 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 00:45:37.81 ID:+GJzyh+A0.net]
- >>519
愛称はSICPな。 sicpvn.sdf.org/smug.jpg つか、全文訳されて公開されてるのな。 https://github.com/minghai/sicp-pdf/ 詳細は以下。 https://qiita.com/kaz-yos/items/d1ecd4bfe9989c290e99 https://cpplover.blogspot.com/2016/05/mitsicp.html なお、俺は読んだこと無い。
- 538 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 04:12:13.38 ID:zPlOwhsg0.net]
- またトリップ付けないで書き込みしたの?
荒らしはもうやめておいた方が良いと思う
- 539 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 06:56:42.02 ID:R1dsfyjz0.net]
- >>522
>またトリップ付けないで書き込みしたの? >荒らしはもうやめておいた方が良いと思う トリップつけないで書き込みするとどうして荒らしになるのですか? というか、ほとんどの人がトリップをつけていないので、5ch は荒らしだらけ、ということですか?
- 540 名前:デフォルトの名無しさん mailto:sage [2018/10/03(水) 07:02:45.12 ID:IEc6BJqm0.net]
- アホは相手すんな
- 541 名前:デフォルトの名無しさん mailto:sage [2018/10/04(木) 15:15:05.37 ID:KwJqXPANY]
- 配列について質問があります
char a[3][5]; char a[2][4] = 'A'; printf("%c\n", *(*(a+2)+4)); //Aを表示
上記の*(*(a+2)+4)の部分において *(a+2)がa[2]の実体を示していて、次に+4がされていることが不思議です これだと、a[2]+4ということになりますよね? このa[2]+4がよく分かりません。どういうことなのか教えていただきたいです どうぞよろしくお願いいたします
- 542 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:05:15.64 ID:DxqDA2/Ip.net]
- https://i.imgur.com/BsiX5iK.jpg
添削お願いします。
- 543 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:17:32.97 ID:6zSKEd8l0.net]
- >>526
minute と second は while の中のスコープで宣言するといい。 あと second を printf する時、お前のやりたいことは多分 %02d でできる。 0詰め2桁表示ね。
- 544 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:21:58.92 ID:3s3m6VbBM.net]
- sleepは1秒待ってくれるとして、
前後の処理がどうしても正確に0秒でできるわけではないので誤差が溜まっていく。 定期的にシステムの時刻を見て秒の変わり目を検出するほうが正確。
- 545 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:26:30.21 ID:6zSKEd8l0.net]
- >>526
これはこうすべきってことでないけど、画面を消す clear、これが何をやってるか調べると面白いかもよ。 とりあえず clear > log とかやって log に何が書かれてるか見てみるといい。 次に cat log とやると何が起こるか確かめてみるといい。 これがわかると画面を消すのに clear なんて外部コマンドを使わなくてもよくなる。
- 546 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 10:44:56.64 ID:uhmiVRnQa.net]
- >>526
whileとelseは直後に空白あける。
- 547 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:16:24.26 ID:DxqDA2/Ip.net]
- https://i.imgur.com/ldQVwUT.jpg
↑ソースコード https://i.imgur.com/eCYNPsi.jpg ↑実行結果 となりました。 「set number」と「syntax on」を初期設定したいのですが、どうすればいいですか?
- 548 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:16:46.89 ID:FRcGP58U0.net]
- free run counter
- 549 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:19:04.80 ID:DxqDA2/Ip.net]
- あと、iPhoneのタイマーと比べた結果カウントが遅くなっていたことがわかりました。これは前後の関数を実行する際にノータイムでは出来ないことが原因だと考えられます。
- 550 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:20:50.09 ID:6zSKEd8l0.net]
- >>531
ちょっとまて、>>529 を試そうとしてる雰囲気だけど、clear > log とか cat log はソースコードに埋めるんじゃなく、コマンドラインとして叩くんだよ。
- 551 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:44:12.58 ID:DxqDA2/Ip.net]
- https://i.imgur.com/5usTieQ.jpg
流れが速くて打てません。
- 552 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:54:29.41 ID:DxqDA2/Ip.net]
- while の中でminute,secondを宣言したら回るたびに宣言する事になるので、なんかダメだと思いました。
あと、ちゃんとしたタイマーを作るにはどうすればいいのか知りたいです。
- 553 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 11:56:56.95 ID:aS2keCHZa.net]
- 画面が流れるんでなくて、部分的に書き換えたい感じ?
cursesを使うのじゃ
- 554 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 12:03:40.55 ID:3s3m6VbBM.net]
- 教え方の下手くそな教えたがりばかりで
あげくにcursesまで初心者に吹き込んで質問者大混乱
- 555 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 12:22:47.81 ID:NVTQRcnQa.net]
- >>526
なんだこれ?引数 void って初めて見たぞ。文法的にありなのかこれ?
- 556 名前:デフォルトの名無しさん [2018/10/05(金) 12:23:53.35 ID:G8OY4AG7d.net]
- そこは教え方の上手なあなたが教えてあげれば良い事だな
- 557 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 12:50:10.63 ID:cQzHZ22n0.net]
- >>539
歴史に残る名言だなw
- 558 名前:デフォルトの名無しさん [2018/10/05(金) 12:50:15.78 ID:qaFHFmCDa.net]
- >>539
それ、もういいですから。
- 559 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:01:08.97 ID:vpbu8eze0.net]
- clear > log
cat log Linux の基本コマンドも知らないような奴が、C をやるな! 10年勉強してからやれ
- 560 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:01:39.72 ID:6zSKEd8l0.net]
- >>535
>>529 で言ってるのは >>526 の実行とは別の話。 画面を消す方法の正体を調べる手順だから、ヒマな時にやればいい。 >>536 宣言はコンパイル時に解釈されるもので、実行時に「宣言という動作」を行っているわけじゃない。 だから実行時にかかるコストは無いから、ループの中に書いてもいい。 C は変数が見える範囲(スコープ)が { } の中になってる。 minute と second は while で回してる { } の中でしか使ってなく、かつ表示のための一時的な変数だから、それを必要とする範囲内だけで見えるようにすると分かりやすくなる。 変数のスコープは極力狭くなるように書くといいよ。 分かりやすさの点でもいいし、メモリ(スタック)の消費量も少なくなる。 正確なタイマーを作るならインターバルタイマーで調べてみるといいけど、まだそれを使えるレベルじゃないと思う。 >>538 curses ってなに?
- 561 名前:デフォルトの名無しさん [2018/10/05(金) 13:03:13.60 ID:qaFHFmCDa.net]
- >>536
1秒ごとに setitimer() とか使って割り込み掛かればいいんだけどね、普通のOSだとあまり正確にではないかも知れない。しかしただsleepするよりは正確だと思う。 割り込み使わないやり方で今と似ているけどましなやり方は次の処理開始時間までより正確に sleep することだ。 これは gettimeofday() でμ秒までの時刻を取得して秒が変わるまで何μ秒なのか計算して usleep() で sleep させればできる。
- 562 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:11:04.98 ID:6zSKEd8l0.net]
- curses ってライブラリか。
面白そうだな。
- 563 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:31:56.77 ID:DxqDA2/Ip.net]
- >>544
変数の宣言はコンパイル時に解釈されているのですね。わかりました。 「set number」と「syntax on」を初期設定にするにはどうすればいいですか?
- 564 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 13:33:35.60 ID:DxqDA2/Ip.net]
- あと、インターバルタイマーも調べて起きます。
- 565 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 16:55:26.05 ID:NK5dBb8n0.net]
- >>547
printf '%s\n%s\n' 'set number' 'syntax on' >> ~/.vimrc
- 566 名前:デフォルトの名無しさん mailto:sage [2018/10/05(金) 16:56:30.81 ID:NK5dBb8n0.net]
- ていうかエディタの名前くらい書け。
まあset numberという設定名のエディタはVimくらいしか思い付かんが。
- 567 名前:デフォルトの名無しさん mailto:sage [2018/10/06(土) 10:59:41.46 ID:YTpMAVXmM.net]
- そこはggrksだろ
なに遊ばれとんねん
- 568 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 11:16:41.41 ID:5icYsRLJ0.net]
- H8 (3694) と秋月キャラLCD(SC1602) のI/F 関数です。
//-------------------------------------------------------------------- #include<3694.h> // CPU のレジスター定義、その他関数のプロトタイプ struct DATA_BUS{ unsigned char NOTUSE:4; IO.PDR8.BIT.B7; IO.PDR8.BIT.B6; IO.PDR8.BIT.B5; IO.PDR8.BIT.B4; }; // IO.PDR8.BIT.B3 は不使用 #define LCD_RS IO.PDR8.BIT.B2 // P82を LCD RSに定義 #define LCD_RW IO.PDR8.BIT.B1 // P81を LCD R/Wに定義 #define LCD_E IO.PDR8.BIT.B0 // P80を LCD Eに定義 #define LCD_DB DATA_BUS // P83〜P87 のみをLCD D4〜D7 に定義したい //-------------------------------------------------------------------- LCD_DB に構造体の入れ子(DATA_BUS) を定義しています。この書き方で動作しますか。この関数の作者はLCD_DB にunsigned char 型で下位4ビットのみ有効なchar 型を代入していました。
- 569 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:21:40.69 ID:i8/5B6xca.net]
- 関数がないじゃん
- 570 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 13:57:42.90 ID:wqzMNkqt0.net]
- そもそもコンパイルできなかったのでは?
構造体のメンバにB4〜B7みたいな定義済みの定数は書けないよ。
- 571 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:22:18.67 ID:NcWFD+EU0.net]
- Cってネットワーク系のコマンド作るのに向いてる?
- 572 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:26:06.72 ID:i8/5B6xca.net]
- ネットワーク系のコマンドというのが意味不明だが、socketインターフェースはある。
向いてるかといえば向いてないが、そういう低レイヤの話としては言語は何を使っても大して変わらん様な気はする。
- 573 名前:デフォルトの名無しさん [2018/10/08(月) 14:31:56.89 ID:meeyxWTYa.net]
- REST APIなら libcurl で楽々よ
- 574 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 14:51:03.67 ID:FGHe46tu0.net]
- ビットコのbot殆どがPythonやNode.jsばっかだけど
libcurl使えばスクリプト言語並みに簡単に使えるよね
- 575 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:10:37.99 ID:NcWFD+EU0.net]
- なるほどソケットっていうのもあるのか。
無知なもので「ネットワークコマンド」と言えばwgetやらcurlやらのTCPクライアントだけを指すと思ってたw curlってコマンドだけじゃなくてlibcurlも提供してくれてるんだね。 だったらpure CでもTCPクライアントが作れそう。
- 576 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 15:53:56.39 ID:i8/5B6xca.net]
- 言葉の話だけどcurlは基本的にはHTTPクライアントだ。TCPの上に乗ってる。
TCPクライアントはtelnetとかncだな。ncはUDPも行ける。 TCPも基本的には難しくないが、異常系を考え出すときりがない。
- 577 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 16:51:30.03 ID:wTnfR6Jf0.net]
- 大昔ソケットレベルから自前でHTTPクライアント作ったことある
TCPプロトコルを学ぶ良い勉強になるよ
- 578 名前:デフォルトの名無しさん [2018/10/08(月) 16:56:21.14 ID:SHTmPUE+0.net]
- 相変わらず低学歴知恵遅れは頭悪いこといってるわ
ソケット通信でTCPプロトコルとか オマエがソケット通信でやりとりしてんのはHTTP ホントななんでココまで頭悪いのしかいないのか不思議
- 579 名前:デフォルトの名無しさん [2018/10/08(月) 17:00:43.05 ID:SHTmPUE+0.net]
- トランスファープロトコルにTCP/IP使ってるといっても
きっとこのスレの低学歴知恵遅れは意味が分からない smtpもftpもほとんどが普通にtcp/ipだからな いまどきのnetbiosも普通にtcp/ipだからな 昔はトランスファープロトコルにnetbeuiつかってた で、今ではnetbios over tcp/ipで nbtとかなんとかいってる
- 580 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:32:32.71 ID:i8/5B6xca.net]
- >>563
知らんテクニカルタームは使うときに確認しろよ
- 581 名前:デフォルトの名無しさん [2018/10/08(月) 17:34:14.12 ID:SHTmPUE+0.net]
- また低学歴知恵遅れが意味不明ないちゃんもんとけてるし
先にいっとくけどな とてつもなく頭悪いこといってんのオマエだからな まずその自覚がない
- 582 名前:デフォルトの名無しさん [2018/10/08(月) 17:35:52.31 ID:SHTmPUE+0.net]
- pop3もtcp/ip
sshもtcp/ip httpsもtcp/ip きっとな低学歴知恵遅れには なにをいってるのいかが分からないとは思うわ
- 583 名前:デフォルトの名無しさん [2018/10/08(月) 17:37:36.24 ID:SHTmPUE+0.net]
- ホントな低学歴知恵遅れは
頭悪いことを自信満々でいうから困るわ
- 584 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:44:32.09 ID:BtXxUchaM.net]
- 基本情報どころかITパスポート程度の知識でドヤってるのか
低学歴知遅れ君は
- 585 名前:デフォルトの名無しさん [2018/10/08(月) 17:47:16.60 ID:SHTmPUE+0.net]
- それにすら到達してない低学歴知恵遅れが
ドヤってるスレがこの板だからな マジで低学歴知恵遅れはこの板から排除したほうがいい 有害
- 586 名前:デフォルトの名無しさん mailto:sage [2018/10/08(月) 17:48:30.52 ID:i8/5B6xca.net]
- じゃあ「トランスファープロコトル」ってなんだか説明してくれよ…
なんだよ「ソケット通信でHTTP」って。
- 587 名前:デフォルトの名無しさん [2018/10/08(月) 17:50:22.69 ID:SHTmPUE+0.net]
- HTTPというのは
ハイパーテキストトランスファー プ ロ ト コ ル だからな ソケット通信(トランスファープロトコル意識する必要ない)で HTTPの内容してるだけだ わかった?
|

|