この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
次スレは>>980が立てること
【前スレ】
スレ立てるまでもない質問はここで 159匹目
https://mevius.5ch.net/test/read.cgi/tech/1644673480/
スレ立てるまでもない質問はここで 160匹目
■ このスレッドは過去ログ倉庫に格納されています
2022/05/10(火) 14:24:35.29ID:+9FnNLoT
341デフォルトの名無しさん
2022/07/15(金) 01:34:39.13ID:GD18JH44 >>340
そんな前近代的なことをしている人がいて驚く
・まず手間も時間もムダ
・その作業も漏れなくミスなくすることを保証できない
・実行しないと何も判明しない
・レアケースに露見するミスはレアケースが来るまでわからないまま
様々な点で問題が多すぎる
C/C++を捨ててRustへ移行すれば
・コードに問題があればコンパイラが通さず問題点を指摘してくれる
・つまりチェックは人手でやる必要なくコンパイラにより完全自動
・コンパイルが通れば安全性が保証される
・つまり実行前に静的に問題がないことを確定できる
・使われなくなった時点で即座に自動的にメモリ解放されるためC/C++で手動で最善にメモリ解放した時と同様に高速
このようにRustへ移行すれば問題が解決する
そんな前近代的なことをしている人がいて驚く
・まず手間も時間もムダ
・その作業も漏れなくミスなくすることを保証できない
・実行しないと何も判明しない
・レアケースに露見するミスはレアケースが来るまでわからないまま
様々な点で問題が多すぎる
C/C++を捨ててRustへ移行すれば
・コードに問題があればコンパイラが通さず問題点を指摘してくれる
・つまりチェックは人手でやる必要なくコンパイラにより完全自動
・コンパイルが通れば安全性が保証される
・つまり実行前に静的に問題がないことを確定できる
・使われなくなった時点で即座に自動的にメモリ解放されるためC/C++で手動で最善にメモリ解放した時と同様に高速
このようにRustへ移行すれば問題が解決する
342デフォルトの名無しさん
2022/07/15(金) 01:41:41.27ID:Ck4HswxJ >>340
解放忘れは機械的にはプロセス終了時点まで分からないと思うけど、プロセス終了時にその領域の情報はどうやって報告するの?
未解放メモリの全部のポインタをどこかに覚えておく?
そして、どこからの malloc で確保されたメモリなのかはどうやって管理する?
他にも new や delete はどうするのとか。
そのノウハウは聞いておきたい。
解放忘れは機械的にはプロセス終了時点まで分からないと思うけど、プロセス終了時にその領域の情報はどうやって報告するの?
未解放メモリの全部のポインタをどこかに覚えておく?
そして、どこからの malloc で確保されたメモリなのかはどうやって管理する?
他にも new や delete はどうするのとか。
そのノウハウは聞いておきたい。
343デフォルトの名無しさん
2022/07/15(金) 04:34:16.20ID:H/wtb5p/ >>332
> どうせ主流ではないと言いたいんでしょ?
イエス
反語表現の意味を調べよう
(中高で習うそんなに難しくはない概念だし、注意してみると日常生活の中でもよく使われているので、勉強しておくことを勧める)
> 主流ではないから○○だみたいに、
> その先を説明してよ
ホワァイ?
元々>>320が頓珍漢な回答をしているのを指摘しただけなので、そこで終わってる話
頓珍漢に輪をかけたレスがその後も相次いでいるので驚いているが
> なんで自分の意見を相手に聞くかな?w
> 自分の意見は、自分から言えば良いんだよ。
言ってるんだよなあ
まあこの先日本語をもっと勉強することでいずれ理解できるようになると思う
頑張って
> どうせ主流ではないと言いたいんでしょ?
イエス
反語表現の意味を調べよう
(中高で習うそんなに難しくはない概念だし、注意してみると日常生活の中でもよく使われているので、勉強しておくことを勧める)
> 主流ではないから○○だみたいに、
> その先を説明してよ
ホワァイ?
元々>>320が頓珍漢な回答をしているのを指摘しただけなので、そこで終わってる話
頓珍漢に輪をかけたレスがその後も相次いでいるので驚いているが
> なんで自分の意見を相手に聞くかな?w
> 自分の意見は、自分から言えば良いんだよ。
言ってるんだよなあ
まあこの先日本語をもっと勉強することでいずれ理解できるようになると思う
頑張って
344デフォルトの名無しさん
2022/07/15(金) 04:37:28.40ID:H/wtb5p/ >>334
勧めていません
ただし、低レベルプログラミングが必要な場面でないのに「C++はメモリの解放が~」とか言ってるのは誤謬でしかないし、標準ライブラリで提供されてる範囲内で簡単に解決できると示しているだけ
勧めていません
ただし、低レベルプログラミングが必要な場面でないのに「C++はメモリの解放が~」とか言ってるのは誤謬でしかないし、標準ライブラリで提供されてる範囲内で簡単に解決できると示しているだけ
345デフォルトの名無しさん
2022/07/15(金) 04:40:39.28ID:H/wtb5p/346デフォルトの名無しさん
2022/07/15(金) 04:43:52.51ID:GD18JH44 >>343
その件もmakeでやってた前近代的な方法を根本的に見直し捨て去ることで
全く新たなcargoというエコシステムが作られてそれ単独でmakeやその類似を必要とせずに動作しているわけだから
makeの代わりの新たなものという位置付けも一つの見方であると思われる
その件もmakeでやってた前近代的な方法を根本的に見直し捨て去ることで
全く新たなcargoというエコシステムが作られてそれ単独でmakeやその類似を必要とせずに動作しているわけだから
makeの代わりの新たなものという位置付けも一つの見方であると思われる
347デフォルトの名無しさん
2022/07/15(金) 04:44:34.45ID:nNsZOfDm >>343
だから、Rustのcargoが本当にLinux・UNIXにおけるパッケージ管理の主流じゃないから何?
OSの仕事はあくまでOSのパッケージの管理であって
プログラミング環境のライブラリの管理じゃないんだよ
あんたcargoの役目を理解してなさすぎw
だから、Rustのcargoが本当にLinux・UNIXにおけるパッケージ管理の主流じゃないから何?
OSの仕事はあくまでOSのパッケージの管理であって
プログラミング環境のライブラリの管理じゃないんだよ
あんたcargoの役目を理解してなさすぎw
348デフォルトの名無しさん
2022/07/15(金) 05:21:48.13ID:tRnFuWaP >>344
その後半の「標準ライブラリで提供されてる範囲内で簡単に解決できる」は二重にダウト
標準ライブラリの範囲内でも解放忘れや多重解放などは起こり得る
さらに標準ライブラリの範囲内のみで解決できるとはかきらない
したがって標準ライブラリを持ち出すことに何の意味もない
その後半の「標準ライブラリで提供されてる範囲内で簡単に解決できる」は二重にダウト
標準ライブラリの範囲内でも解放忘れや多重解放などは起こり得る
さらに標準ライブラリの範囲内のみで解決できるとはかきらない
したがって標準ライブラリを持ち出すことに何の意味もない
349デフォルトの名無しさん
2022/07/15(金) 05:25:05.82ID:H/wtb5p/350デフォルトの名無しさん
2022/07/15(金) 05:39:30.79ID:nNsZOfDm >>349
はぁ(苦笑)
あのねぇ、makeはね、OSのコマンドなの。UNIXの中に含まれてるから。
でね、makeっていうのはビルドツールなわけ。
昔のunixにはパッケージ管理ツールなんてなかったのから
ビルドするしかなかったの
今はビルドツールにOSのコマンドを使わなくなってきてるの
cargoはプログラム専用のパッケージ管理ツール兼ビルドツールなわけ
つまりね、
・パッケージを使う場合はOSのパッケージ管理ツールを使う
・しかしパッケージ管理ツールは、make、ビルドツールのことじゃあない
・今の話はmakeの代わりに何を使うって話
・makeの代わりはcargoや各言語のビルドツールなわけ
おまえはmakeをパッケージ管理ツールだと勘違いしてる
ここまで丁寧に教えないと理解しないんだろうな
はぁ(苦笑)
あのねぇ、makeはね、OSのコマンドなの。UNIXの中に含まれてるから。
でね、makeっていうのはビルドツールなわけ。
昔のunixにはパッケージ管理ツールなんてなかったのから
ビルドするしかなかったの
今はビルドツールにOSのコマンドを使わなくなってきてるの
cargoはプログラム専用のパッケージ管理ツール兼ビルドツールなわけ
つまりね、
・パッケージを使う場合はOSのパッケージ管理ツールを使う
・しかしパッケージ管理ツールは、make、ビルドツールのことじゃあない
・今の話はmakeの代わりに何を使うって話
・makeの代わりはcargoや各言語のビルドツールなわけ
おまえはmakeをパッケージ管理ツールだと勘違いしてる
ここまで丁寧に教えないと理解しないんだろうな
351デフォルトの名無しさん
2022/07/15(金) 05:44:04.50ID:nNsZOfDm352デフォルトの名無しさん
2022/07/15(金) 06:06:48.38ID:H/wtb5p/353デフォルトの名無しさん
2022/07/15(金) 07:03:07.90ID:LI/vBnI5 とりあえず>>340って実際にどんなことをしてるかちょっとだけ気になるんだけど
よかったら具体的な説明を
よかったら具体的な説明を
354デフォルトの名無しさん
2022/07/15(金) 07:08:23.44ID:LI/vBnI5 と思ったが、あれかな、valgrindとかでやることを自分でやるみたいな?
普通にそういうツールやライブラリに頼った方がいいような
普通にそういうツールやライブラリに頼った方がいいような
355デフォルトの名無しさん
2022/07/15(金) 07:28:20.56ID:45o+VwAU356デフォルトの名無しさん
2022/07/15(金) 08:15:46.31ID:uLC7CBw4 Rust Foundation Platinumに日本企業はない。中国企業はいる
日本は中国未満
日本は中国未満
357デフォルトの名無しさん
2022/07/15(金) 09:59:34.96ID:TA6nqc+L 現時点でRustで構築されてるOSってある?
カーネルはLinuxでもいいけどそれより上の部分で
カーネルはLinuxでもいいけどそれより上の部分で
358デフォルトの名無しさん
2022/07/15(金) 10:57:19.78ID:lF4sBNwn Rustなんて結局流行らんでしょw
まぁ、スレ違いなのでしょーも無い事を語るなら別のスレにいけ
まぁ、スレ違いなのでしょーも無い事を語るなら別のスレにいけ
359デフォルトの名無しさん
2022/07/15(金) 11:39:33.98ID:YErsqPqr gitでマージしてコンフリクトしなかったファイルとコンフリクトしたファイルがあって
これをコミットする際、コンフリクトせずマージされたコミットとコンフリクト解消したコミットのように2つに分けたいのですが
どうやればいいのでしょうか
これをコミットする際、コンフリクトせずマージされたコミットとコンフリクト解消したコミットのように2つに分けたいのですが
どうやればいいのでしょうか
360デフォルトの名無しさん
2022/07/15(金) 12:11:03.83ID:lF4sBNwn 単純にマージする前にブランチ切っていれば戻れるし好きに出来るのでは?
361デフォルトの名無しさん
2022/07/15(金) 12:12:45.10ID:YXwn0a1o362デフォルトの名無しさん
2022/07/15(金) 12:44:10.41ID:YErsqPqr >>361
コンフリ解消前のをcommitするとコンフリ解決してないので
committing is not possible because you have unmerged files
とエラーが出てコミットできないんですが
コンフリしたファイルをそのままaddしてコミットしろってことでしょうか?
コンフリ解消前のをcommitするとコンフリ解決してないので
committing is not possible because you have unmerged files
とエラーが出てコミットできないんですが
コンフリしたファイルをそのままaddしてコミットしろってことでしょうか?
363デフォルトの名無しさん
2022/07/15(金) 15:05:45.09ID:oyGbt8u5 >>362
merge状態から抜ければcommitできるので、そうしてもいいし
コンフリクトしたファイルだけを元に戻してもいい
でも、どちらにせよビルドできない状態をcommitすることになるだろうから
ちゃんとコンフリクトを解消してからcommitした方がいいと思うけどなぁ
まあ、最初のやりたいことからは外れちゃうけど
merge状態から抜ければcommitできるので、そうしてもいいし
コンフリクトしたファイルだけを元に戻してもいい
でも、どちらにせよビルドできない状態をcommitすることになるだろうから
ちゃんとコンフリクトを解消してからcommitした方がいいと思うけどなぁ
まあ、最初のやりたいことからは外れちゃうけど
364デフォルトの名無しさん
2022/07/15(金) 15:18:15.30ID:UMF7Eduu >>357
これからは一つの言語で構成されるOSはなくなっていく
これからは一つの言語で構成されるOSはなくなっていく
365デフォルトの名無しさん
2022/07/15(金) 21:04:15.70ID:knkavBW6 >>341
>・まず手間も時間もムダ
ちょいちょいと 200 ステップくらいで簡単に実現できますよ、一晩で書けちゃいますよ
>・その作業も漏れなくミスなくすることを保証できない
>・実行しないと何も判明しない
何もしないよりはましでしょうね、簡単なラッパを置くだけでケアレスミスは弾けますね、やったことなければわからないでしょうが
>>342
末尾に解放忘れを列挙する関数を置けばいいだけですよ、リリース時には #ifdef で無効にするようなものでね
>>345
私は別に rust を否定しているわけではないですよ
指摘された問題点はちょいちょいとラッパを書くだけで割と簡単に弾けるのに、というだけですね
>>353
ヘッダ:https://ideone.com/E6J83P
本体:https://ideone.com/WpsIxp
一晩で即席に作ったけれども結構今でも役に立っていますね‥‥
>・まず手間も時間もムダ
ちょいちょいと 200 ステップくらいで簡単に実現できますよ、一晩で書けちゃいますよ
>・その作業も漏れなくミスなくすることを保証できない
>・実行しないと何も判明しない
何もしないよりはましでしょうね、簡単なラッパを置くだけでケアレスミスは弾けますね、やったことなければわからないでしょうが
>>342
末尾に解放忘れを列挙する関数を置けばいいだけですよ、リリース時には #ifdef で無効にするようなものでね
>>345
私は別に rust を否定しているわけではないですよ
指摘された問題点はちょいちょいとラッパを書くだけで割と簡単に弾けるのに、というだけですね
>>353
ヘッダ:https://ideone.com/E6J83P
本体:https://ideone.com/WpsIxp
一晩で即席に作ったけれども結構今でも役に立っていますね‥‥
366デフォルトの名無しさん
2022/07/15(金) 21:41:31.38ID:0WMM6JpG リーク検出なんてVCは標準であるけど、他の環境にはないの?
367デフォルトの名無しさん
2022/07/15(金) 21:52:23.36ID:YErsqPqr >>363
コンフリしたファイルをHEADの内容で更新commitして
コンフリしたファイルを再度修正してそれをコンフリ解決としてコミットすれば
やりたいような感じのことができました
レスありがとうございました
コンフリしたファイルをHEADの内容で更新commitして
コンフリしたファイルを再度修正してそれをコンフリ解決としてコミットすれば
やりたいような感じのことができました
レスありがとうございました
368365
2022/07/16(土) 06:41:19.01ID:c7EwU+jp369デフォルトの名無しさん
2022/07/16(土) 11:51:34.05ID:v3eAMl7Q 質問と言うかご意見をお聞かせください
daoパターンを調べていてトップに出てきたのがこれです
https://kanda-it-school-kensyu.com/java-jdbc-contents/jj_ch04/jj_0401/
気になったのは
selectIsbnAll、selectTitleAll、selectPriceAllが、内部で使うSQL文以外は全く共通の構造になっているということです
例えば受け取ったSQLを実行して結果を返す関数xxxを別に作る、上の3関数ではSQL文を作ってxxxに渡して呼び出す
そういう構造にするのはダメなんでしょうか
それとも重複させたほうがいい理由が何かあるのでしょうか。よろしくお願いします
daoパターンを調べていてトップに出てきたのがこれです
https://kanda-it-school-kensyu.com/java-jdbc-contents/jj_ch04/jj_0401/
気になったのは
selectIsbnAll、selectTitleAll、selectPriceAllが、内部で使うSQL文以外は全く共通の構造になっているということです
例えば受け取ったSQLを実行して結果を返す関数xxxを別に作る、上の3関数ではSQL文を作ってxxxに渡して呼び出す
そういう構造にするのはダメなんでしょうか
それとも重複させたほうがいい理由が何かあるのでしょうか。よろしくお願いします
370デフォルトの名無しさん
2022/07/16(土) 11:55:03.81ID:v3eAMl7Q 失礼しました。SQL文以外にも取得する列名も関数ごとに別ですね
まぁその場合でもxxxに列名を引数として追加すればいいのではと思いますが
まぁその場合でもxxxに列名を引数として追加すればいいのではと思いますが
371デフォルトの名無しさん
2022/07/16(土) 12:32:31.14ID:730D9OZt372デフォルトの名無しさん
2022/07/16(土) 12:37:49.48ID:730D9OZt しいて言えば
他の開発者が重複させた状態でパターン認識してれば共通処理に切り出すと分かりにくくなるとか
すべてのDAOが依存する共通クラスができるのでその維持管理に少し手間がかかるとか
そういうデメリットはあるかもしれない
他の開発者が重複させた状態でパターン認識してれば共通処理に切り出すと分かりにくくなるとか
すべてのDAOが依存する共通クラスができるのでその維持管理に少し手間がかかるとか
そういうデメリットはあるかもしれない
373デフォルトの名無しさん
2022/07/16(土) 14:05:36.11ID:2WLM14wy Java のJDBC って、何十年前の話なの?
Ruby on Rails では、Active Record というO/R マッパーで全自動。
こんなコーディングを見た事がない
Ruby on Rails では、Active Record というO/R マッパーで全自動。
こんなコーディングを見た事がない
374デフォルトの名無しさん
2022/07/16(土) 15:47:30.46ID:aE5onCgd markdownってなにが便利なの?
見る人にわざわざViewerをインストールしてもらわなきゃいけないの
見る人にわざわざViewerをインストールしてもらわなきゃいけないの
375蟻人間 ◆T6xkBnTXz7B0
2022/07/16(土) 16:12:32.42ID:8tacx+39376デフォルトの名無しさん
2022/07/16(土) 17:00:15.16ID:aE5onCgd 本を出版できるかどうかは関係ないでしょ
書く内容があれば、markdownがかけなくても出版は出来るでしょうし。
整形されたものを見るためには、ブラウザ側の準備とかも必要ですし
○○をインストールすれば、綺麗に見えますよ
なんていってもそんなの面倒といわれるのがオチですよね
書く内容があれば、markdownがかけなくても出版は出来るでしょうし。
整形されたものを見るためには、ブラウザ側の準備とかも必要ですし
○○をインストールすれば、綺麗に見えますよ
なんていってもそんなの面倒といわれるのがオチですよね
377デフォルトの名無しさん
2022/07/16(土) 17:08:33.25ID:EqAVTetZ ブラウザ等が必要なのはHTMLやTextileも同じ
それらに比べてプレーンテキストでの視認性は良い
それらに比べてプレーンテキストでの視認性は良い
378デフォルトの名無しさん
2022/07/16(土) 20:25:35.05ID:v3eAMl7Q gitと相性良いってのは本当にでかい
未だにword/excelをSVN管理してるところの多さよ
未だにword/excelをSVN管理してるところの多さよ
379デフォルトの名無しさん
2022/07/17(日) 08:58:42.91ID:Pz/w1EQs 音楽を流すプログラムを公開する時、著作権の問題を回避するため、曲データそのものは省いた状態で公開したい。
でもデモというかサンプルとして、そのデータのシーケンスの様子を youtube で公開して、ようするにそれを見ればデータを再現できるわけだけど、
そういう公開の仕方で著作権の問題は出そう?
公開したいものの主体としてはシーケンサの方ではあるけど、その曲を入れたくて作ったという側面がある。
もちろん使う人がお好きなデータを入れられる。
でもデモというかサンプルとして、そのデータのシーケンスの様子を youtube で公開して、ようするにそれを見ればデータを再現できるわけだけど、
そういう公開の仕方で著作権の問題は出そう?
公開したいものの主体としてはシーケンサの方ではあるけど、その曲を入れたくて作ったという側面がある。
もちろん使う人がお好きなデータを入れられる。
380デフォルトの名無しさん
2022/07/17(日) 18:48:28.79ID:soXI7jwH 仕事中に転職予定のプログラミングの勉強をしたいのだけど
いい方法はないかしら?
今の仕事中はときどきアイドル時間があってわりと勉強できそうだけど
周りにチームリーダーやまじめ君がいてPCをのぞきこまれてそれを見つかるのはまずい。
いい方法はないかしら?
今の仕事中はときどきアイドル時間があってわりと勉強できそうだけど
周りにチームリーダーやまじめ君がいてPCをのぞきこまれてそれを見つかるのはまずい。
381デフォルトの名無しさん
2022/07/17(日) 19:38:41.12ID:9SO4ZDqK スマホPDFでみれば
382デフォルトの名無しさん
2022/07/17(日) 19:51:05.43ID:soXI7jwH383デフォルトの名無しさん
2022/07/17(日) 19:53:22.97ID:9V4W1mRI PC介すと検閲に引っかかるとかないの?
384デフォルトの名無しさん
2022/07/17(日) 20:52:28.23ID:zSvUsLU3 えー要約すると仕事中に仕事と全く関係なくて見つかるのもまずいことしようとしてるんだけどいい方法ありませんか
385蟻人間 ◆T6xkBnTXz7B0
2022/07/17(日) 21:13:42.26ID:Il0xN2QW 通信URLが監視されてたら何してもばれる。
それでもやりたいならWin+D
それでもやりたいならWin+D
386蟻人間 ◆T6xkBnTXz7B0
2022/07/17(日) 21:21:33.73ID:Il0xN2QW 「ボスが来た」で検索すると、そういうツールが見つかるよ。
387蟻人間 ◆T6xkBnTXz7B0
2022/07/17(日) 21:22:16.77ID:Il0xN2QW 通信内容も隠蔽したいならテザリングするといいよ。
388蟻人間 ◆T6xkBnTXz7B0
2022/07/17(日) 21:26:39.21ID:Il0xN2QW 内部通告は社会の正義だからね。がんばってね。
389蟻人間 ◆T6xkBnTXz7B0
2022/07/17(日) 21:41:58.23ID:Il0xN2QW 今ならメガネ型の端末やコンタクトレンズみたいな端末があるって。
それでネットサーフィンできるよ。
それでネットサーフィンできるよ。
390デフォルトの名無しさん
2022/07/17(日) 22:12:12.21ID:og+Kl2+D などと自宅警備員が言っており
391デフォルトの名無しさん
2022/07/18(月) 02:41:01.00ID:M8P73NZJ その言語の研修に行かせてもらえば?
392デフォルトの名無しさん
2022/07/18(月) 09:09:17.65ID:unHGOtJd UMLとかどこ行っても潰しの効く技術を勉強しといたら?
特に最下流なゴミ案件だと設計ドキュメント無かったりするから、それを作ってますと言い訳
特に最下流なゴミ案件だと設計ドキュメント無かったりするから、それを作ってますと言い訳
393デフォルトの名無しさん
2022/07/18(月) 10:38:54.88ID:kCD1BPcn OSSのライブラリって設計ドキュメントとかなかったりするよね
OSSの開発には参加できない低レベル人材ということだよね
OSSの開発には参加できない低レベル人材ということだよね
394デフォルトの名無しさん
2022/07/18(月) 12:40:49.12ID:VS4KQwYj 設計資料の無いプログラムなんて、何の価値も無いでしょ
個人が趣味やってるようなものなら話しは別だけど
会社で仕事としてやってるなら、ソースだけなんてありえない。
そこらに建ってるビルで設計図ないビルなんて無いだろ
犬小屋つくるのとはわけがちがう
個人が趣味やってるようなものなら話しは別だけど
会社で仕事としてやってるなら、ソースだけなんてありえない。
そこらに建ってるビルで設計図ないビルなんて無いだろ
犬小屋つくるのとはわけがちがう
395デフォルトの名無しさん
2022/07/18(月) 12:47:50.22ID:QxUO6Zmj 設計図は保守のために必要なのであって開発のための設計図は不要
396デフォルトの名無しさん
2022/07/18(月) 12:49:37.70ID:VS4KQwYj 会社に入れば分かるよ
学生さんがお遊びで書いてるようなおもちゃコードとはダンチレベチだから
学生さんがお遊びで書いてるようなおもちゃコードとはダンチレベチだから
397デフォルトの名無しさん
2022/07/18(月) 13:25:28.89ID:LUyjnnnP OSSはわかる人が参加するものであって
企業内の製品は誰でもわかるようにしなければいけない
設計あるなしは要否によっても決まるもの、という位置付けに変化した
企業内の製品は誰でもわかるようにしなければいけない
設計あるなしは要否によっても決まるもの、という位置付けに変化した
398デフォルトの名無しさん
2022/07/18(月) 13:28:37.05ID:T3NdTMmH 会社でコード書いてるのなんて高卒とか専卒のやつらだろ
大学でちゃんとコード書いてる学生さんの方が上だよ
大学でちゃんとコード書いてる学生さんの方が上だよ
399デフォルトの名無しさん
2022/07/18(月) 13:34:29.85ID:VS4KQwYj なぜか学歴の話しになってて草草草
頭の悪い人って物事を別の方向に捉えて勝手に結論付けるよね
頭の悪い人って物事を別の方向に捉えて勝手に結論付けるよね
400デフォルトの名無しさん
2022/07/18(月) 14:19:10.39ID:unHGOtJd N□□セキュアとかの仕事ですら、設計ドキュメント無かったぜ
401デフォルトの名無しさん
2022/07/18(月) 14:39:42.97ID:kCD1BPcn ビルは完全にウォーターフォールでしか開発できないからな
途中で改善点など見つけても後戻りできない
そこがソフトウェア開発と建築との違いで何度でも試行錯誤してブラッシュアップできるのがソフトウェアの良いところなのに
混同して考えているという時点でセンスないし向いてないから別の業界に転職した方が良いよ
途中で改善点など見つけても後戻りできない
そこがソフトウェア開発と建築との違いで何度でも試行錯誤してブラッシュアップできるのがソフトウェアの良いところなのに
混同して考えているという時点でセンスないし向いてないから別の業界に転職した方が良いよ
402デフォルトの名無しさん
2022/07/18(月) 15:03:52.33ID:RNtKt9aH 設計ドキュメントの作成・維持・読んで理解するのに要するコスト・時間と
設計ドキュメントなしにコードを読んで設計を理解するのに要するコスト・時間を状況に応じて比較して考えればいいよ
設計するやつとコード書くやつが分かれてたり
コードだけからだと設計を読み取るのに時間がかかったり
そもそもコードを読めない・読まない人が設計を理解する必要があったり
多くのソフトウェアやシステムは後者のコストが著しく高くなる環境のほうが一般的
設計するやつとコード書くやつが同じでユーザーもコードを読む前提のソフトウェアやシステムはどちらかといえば例外的
設計ドキュメントなしにコードを読んで設計を理解するのに要するコスト・時間を状況に応じて比較して考えればいいよ
設計するやつとコード書くやつが分かれてたり
コードだけからだと設計を読み取るのに時間がかかったり
そもそもコードを読めない・読まない人が設計を理解する必要があったり
多くのソフトウェアやシステムは後者のコストが著しく高くなる環境のほうが一般的
設計するやつとコード書くやつが同じでユーザーもコードを読む前提のソフトウェアやシステムはどちらかといえば例外的
403デフォルトの名無しさん
2022/07/18(月) 15:52:41.75ID:88C78euP >>394
オープンソースのソフトウェアに分厚い設計資料はありますか?
オープンソースのソフトウェアに分厚い設計資料はありますか?
404デフォルトの名無しさん
2022/07/18(月) 16:11:52.15ID:f70Fl4T+ >>403
オープンソースには分かるやつしか参加しないから、ソースコードを別の言葉で書き直したような設計書ならいらないんだよね。
企業は人員の 9割が無能だから、そいつらのための仕事として設計書作成作業を設けてるだけ。
んで 9割の連中がその設計書を見ながら作った動かないコードは、残りの 1割の連中が設計書など見ずに動くように書き直す。
だから設計書と製品が解離する。
オープンソースには分かるやつしか参加しないから、ソースコードを別の言葉で書き直したような設計書ならいらないんだよね。
企業は人員の 9割が無能だから、そいつらのための仕事として設計書作成作業を設けてるだけ。
んで 9割の連中がその設計書を見ながら作った動かないコードは、残りの 1割の連中が設計書など見ずに動くように書き直す。
だから設計書と製品が解離する。
405デフォルトの名無しさん
2022/07/18(月) 17:54:35.48ID:lfKiyV0F >>404
オープンソースに分厚い設計資料がないのだったら、本質的に企業の仕事においても不要でしょうね、偉い人にはどうしてそんなことがわからないのでしょうか?
オープンソースに分厚い設計資料がないのだったら、本質的に企業の仕事においても不要でしょうね、偉い人にはどうしてそんなことがわからないのでしょうか?
406デフォルトの名無しさん
2022/07/18(月) 18:01:12.19ID:LUyjnnnP 製作者がいなくなったとき、
オープンソースは引き継げる能力のあるやつが引き継ぐ、いなければいつか消えるのみ
会社は他に能力のあるやつがいなくても、誰かに引き継がせなきゃいけない。放置は許されない
オープンソースは引き継げる能力のあるやつが引き継ぐ、いなければいつか消えるのみ
会社は他に能力のあるやつがいなくても、誰かに引き継がせなきゃいけない。放置は許されない
407デフォルトの名無しさん
2022/07/18(月) 18:20:16.09ID:Vps5Lgrt >>396
せやな。Linuxぐらいの設計書は必要
せやな。Linuxぐらいの設計書は必要
408デフォルトの名無しさん
2022/07/18(月) 19:30:18.00ID:iK5pz8lh409デフォルトの名無しさん
2022/07/18(月) 20:03:26.47ID:SlCZ8nzK 書類なんざ所詮管理手段の一つ。結果が伴わなければ意味ない
書類の作成を目的化するような会社じゃビジネスは上手くいかないだろうね
書類の作成を目的化するような会社じゃビジネスは上手くいかないだろうね
410デフォルトの名無しさん
2022/07/19(火) 00:29:30.95ID:KHPjwZjx ダメなプロジェクトや仕事は設計ドキュメントが先にある
良いプロジェクトや仕事は様々なレベルでそれぞれ試しに作っては壊したり比較したりやり直したり
システムアーキテクチャレベルで固まってきてもデータ構造やらAPI相当やらはリファクタリングでどんどん良いものへ変化
そして最後に設計ドキュメントに相当するものをきちんと作る
良いプロジェクトや仕事は様々なレベルでそれぞれ試しに作っては壊したり比較したりやり直したり
システムアーキテクチャレベルで固まってきてもデータ構造やらAPI相当やらはリファクタリングでどんどん良いものへ変化
そして最後に設計ドキュメントに相当するものをきちんと作る
411デフォルトの名無しさん
2022/07/19(火) 02:32:32.91ID:u93zEaXd エクセルのデータを読み込んで加工して手元のmysqlに書き込むプログラムがあるのですが
プログラムで書き込むのと sql fileに書き出してコマンドで実行する方式のどっちがいいでしょうか?
プログラムで書き込むのと sql fileに書き出してコマンドで実行する方式のどっちがいいでしょうか?
412デフォルトの名無しさん
2022/07/19(火) 11:20:13.57ID:6ZFnu09m >>411
どういう観点で比較したいの?
どういう観点で比較したいの?
413デフォルトの名無しさん
2022/07/21(木) 14:52:16.30ID:qntGDUHT C,C++の勉強してListの構造を学んで疑問に思ったのですが
Javaなどでメモリ飛び飛びで作られたListが存在するときにGCが発生したら完全整列するのでしょうか?それとも要素毎に空いたメモリに再配置されるのでしょうか?
前者なら遅くなるなぁ?と、後者で動いてる?
まぁわかったところでGCなのでやりようがないかもですが、考え方だけでも知っておきたいです
Javaなどでメモリ飛び飛びで作られたListが存在するときにGCが発生したら完全整列するのでしょうか?それとも要素毎に空いたメモリに再配置されるのでしょうか?
前者なら遅くなるなぁ?と、後者で動いてる?
まぁわかったところでGCなのでやりようがないかもですが、考え方だけでも知っておきたいです
414デフォルトの名無しさん
2022/07/21(木) 14:59:01.82ID:cxEc0/aI415デフォルトの名無しさん
2022/07/21(木) 15:10:02.66ID:qntGDUHT416デフォルトの名無しさん
2022/07/22(金) 21:00:16.41ID:coO/VVNr アセンブラスレがなかったのでこちらのスレで失礼します。
学校でH8/300Hのマイコン学習をしています。
どうしてもわからないことがあり質問させてただきます。
HEW 生成ファイル補足説明(H8S、H8/300)
https://www.renesas.com/us/ja/document/man/735601
の3ページ目、リセット関数に関してです。
.SECTION PResetPRG,CODE,LOCATE=H'0400
_PowerON_Reset:
SLEEP
.SECTION $VECT0,DATA,LOCATE=H'0000
.DATA.L _PowerON_Reset
.END
上記のコードは実行してもただSLEEPするだけ、ということは理解できています。
コードの読み方を調べているうちに、
上記コードで定義されているPResetPRGのH'0400と、$VECT0のH'0000は、
ディフォで生成される設定に合わせているということは理解できたのですが、
じゃあ、なんでわざわざ宣言するんでしょうか?
ネットや書籍で調べまくっているのですが、掘り下げた説明に出会えず、
これがピンとこないせいか、授業の内容もいまいちピンときません。
まだLEDをピカらせるといった初歩的なことをしているだけですが、
リセット関数はどのコードにも冒頭部分に記述されています。
しかし初期設定部分ということもあってかコピペで済ましており、
学校の人も誰もこの記述の具体的な説明を含む読み方ができません。
どなたか日本語訳的な感じで読み替えてもらえないでしょうか?
よろしくおねがしいます。
学校でH8/300Hのマイコン学習をしています。
どうしてもわからないことがあり質問させてただきます。
HEW 生成ファイル補足説明(H8S、H8/300)
https://www.renesas.com/us/ja/document/man/735601
の3ページ目、リセット関数に関してです。
.SECTION PResetPRG,CODE,LOCATE=H'0400
_PowerON_Reset:
SLEEP
.SECTION $VECT0,DATA,LOCATE=H'0000
.DATA.L _PowerON_Reset
.END
上記のコードは実行してもただSLEEPするだけ、ということは理解できています。
コードの読み方を調べているうちに、
上記コードで定義されているPResetPRGのH'0400と、$VECT0のH'0000は、
ディフォで生成される設定に合わせているということは理解できたのですが、
じゃあ、なんでわざわざ宣言するんでしょうか?
ネットや書籍で調べまくっているのですが、掘り下げた説明に出会えず、
これがピンとこないせいか、授業の内容もいまいちピンときません。
まだLEDをピカらせるといった初歩的なことをしているだけですが、
リセット関数はどのコードにも冒頭部分に記述されています。
しかし初期設定部分ということもあってかコピペで済ましており、
学校の人も誰もこの記述の具体的な説明を含む読み方ができません。
どなたか日本語訳的な感じで読み替えてもらえないでしょうか?
よろしくおねがしいます。
417デフォルトの名無しさん
2022/07/22(金) 21:56:20.98ID:5RjVUBfu アセンブラというかハードの知識が足りてないんじゃね?
ベクタテーブルで調べてごらん。
ベクタテーブルで調べてごらん。
418デフォルトの名無しさん
2022/07/22(金) 21:57:59.77ID:JKfbNlr+ h8なんて知らん素人だけどさ
このCPUはリセットされると0番地の内容をプログラムカウンタに設定して
そこから実行を開始するっぽい
で、今回はH'0000番地にVECT0という名前をつけて
内容はH'0400
H'0400番地にPResetPRGという名前をつけて
内容はSLEEP命令
この名前とかアドレスはその開発環境のデフォルトなんでしょ
このCPUはリセットされると0番地の内容をプログラムカウンタに設定して
そこから実行を開始するっぽい
で、今回はH'0000番地にVECT0という名前をつけて
内容はH'0400
H'0400番地にPResetPRGという名前をつけて
内容はSLEEP命令
この名前とかアドレスはその開発環境のデフォルトなんでしょ
419デフォルトの名無しさん
2022/07/22(金) 22:31:54.54ID:QLPuwyNz420416
2022/07/22(金) 23:10:59.57ID:coO/VVNr >>417->>419
ありがとうございます。書き込み後も調べ続けておりました。
>>417
一応イメージは掴んでいるつもりですが、改めて勉強してみます。
リセット時や割り込み時の処理の仕方だと認識しています。
自分はたぶんsection宣言の読み方や使い方がわかっていない気がします。
>>418
ありがとうございます。レス読んで思い出しました。
このリセット関数については、最初は先生に質問したのですが、
「0000の中に0400が入っているんだよ」と言われ、その時はわかった気になったのですが、
帰宅後に調べ直したらまたわからなくなり、今回の質問に至ったという経緯でした。
わかる
・このCPUはリセットされると0番地から実行を開始する
・名前とかアドレスはデフォルトのやつをそのまま使っている
・H'0000番地にVECT0という名前をつけている。
・H'0400番地にPResetPRGという名前をつけている。
わからない1
・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
私の理解では「番地に名前をつけて、コードかデータの種類を指定しただけど、入れる処理はしていない」です。
わからない2
・.DATA.L _PowerON_Reset はプログラムを「_PowerON_Reset」からスタートする動作だと
教わりましたが、この記述でなんでそうなるかがわからないです。
>>419
ありがとうございます。そういうもんですか・・・そこは飲み込みます。
ありがとうございます。書き込み後も調べ続けておりました。
>>417
一応イメージは掴んでいるつもりですが、改めて勉強してみます。
リセット時や割り込み時の処理の仕方だと認識しています。
自分はたぶんsection宣言の読み方や使い方がわかっていない気がします。
>>418
ありがとうございます。レス読んで思い出しました。
このリセット関数については、最初は先生に質問したのですが、
「0000の中に0400が入っているんだよ」と言われ、その時はわかった気になったのですが、
帰宅後に調べ直したらまたわからなくなり、今回の質問に至ったという経緯でした。
わかる
・このCPUはリセットされると0番地から実行を開始する
・名前とかアドレスはデフォルトのやつをそのまま使っている
・H'0000番地にVECT0という名前をつけている。
・H'0400番地にPResetPRGという名前をつけている。
わからない1
・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
私の理解では「番地に名前をつけて、コードかデータの種類を指定しただけど、入れる処理はしていない」です。
わからない2
・.DATA.L _PowerON_Reset はプログラムを「_PowerON_Reset」からスタートする動作だと
教わりましたが、この記述でなんでそうなるかがわからないです。
>>419
ありがとうございます。そういうもんですか・・・そこは飲み込みます。
421デフォルトの名無しさん
2022/07/22(金) 23:24:37.68ID:bpOnuI9e CODE Section は、0400 から、
DATA Section は、0000 からとか、
どこのアドレスを使うか、決めるのは自由だろ?
DATA Section は、0000 からとか、
どこのアドレスを使うか、決めるのは自由だろ?
422デフォルトの名無しさん
2022/07/22(金) 23:37:14.09ID:bpOnuI9e 0000 などは、16進数か?
0000〜00ff: 0〜255
0100〜01ff: 256〜511
0200〜02ff: 512〜768
0300〜03ff: 768〜1023
0400〜04ff: 1024〜1279
つまり、0400 は1024のアドレスから始まる
0000〜00ff: 0〜255
0100〜01ff: 256〜511
0200〜02ff: 512〜768
0300〜03ff: 768〜1023
0400〜04ff: 1024〜1279
つまり、0400 は1024のアドレスから始まる
423デフォルトの名無しさん
2022/07/22(金) 23:38:03.71ID:JKfbNlr+ _PowerON_Resetっていうラベルは
SLEEP命令の位置のH'0400を指すんだよ
それで.DATA.Lという疑似命令で
現在位置H'0000にH'0400を出力する
SLEEP命令の位置のH'0400を指すんだよ
それで.DATA.Lという疑似命令で
現在位置H'0000にH'0400を出力する
424デフォルトの名無しさん
2022/07/22(金) 23:51:00.22ID:JKfbNlr+ というかマニュアルを読めよ全部書いてあるぞ
たぶんこの2つだろ↓
H8/300H シリーズ プログラミングマニュアル
H8S, H8/300 シリーズ クロスアセンブラ ユーザーズマニュアル
たぶんこの2つだろ↓
H8/300H シリーズ プログラミングマニュアル
H8S, H8/300 シリーズ クロスアセンブラ ユーザーズマニュアル
425デフォルトの名無しさん
2022/07/23(土) 00:11:15.01ID:mkhmVAM0 >>424
今回の質問の前に思いつく限りの検索ワードで調べました。
以下の媒体は特に参考になったと思えたページの一部です。
流石に書籍やpdfを全ページ読んだとは言いませんが、
SECTION、PResetPRG、CODE、LOCATE=H'0400、_PowerON_Reset:、$VECT0、DATA
など、コード内にあった主要な記号は全て検索し、
ヒットした箇所の前後の記述を熟読し、それでも理解できなかったので質問しました。
今は >>423 さんのレスにあった疑似命令について調べているる途中です。
プログラムはHTML/CSSしかやったことがなく、そっちの感覚が全く使えないので苦慮しております。
[プログラム](http://www.t-net.ne.jp/~kuu-sky/page090.html)
[01_01.EPS](https://nagasm.org/ASL/manual/soft.pdf)
[HEW 生成ファイル補足説明(H8S、H8/300)](https://www.renesas.com/us/ja/document/man/735601)
[H8プログラミングメモ](https://bluefish.orz.hm/sdoc/h8_prog.html)
[たのしくできるH8マイコン制御実験 - 横田一弘 - Google ブックス](https://books.google.co.jp/books?id=hNPVNj4wuOIC&printsec=frontcover&hl=ja#v=onepage&q&f=false)
(https://books.google.co.jp/books?id=9dd1xBNFRpAC&printsec=frontcover&hl=ja#v=onepage&q&f=false)
[ppkitinside2004.pdf](http://www.robot-triathlon.org/kit/ppkitinside2004.pdf)
[H8S H8/300シリーズ クロスアセンブラ ユーザーズマニュアル](https://www.renesas.com/us/ja/support/document-search?keywords=j702038_h8s)
[H8/36064グループハードウェアマニュアル](https://www.renesas.com/jp/ja/document/mah/h836064-group-hardware-manual?language=ja&r=1052281)
[プログラミング(前編) | Renesas](https://www.renesas.com/jp/ja/support/engineer-school/mcu-programming-peripherals-05)
[H8/300H シリーズ プログラミングマニュアル](https://www.renesas.com/jp/ja/document/man/870711)
[猫ですが。: H8マイコン-その1](http://konohanaya.blogspot.com/2010/10/h.html)
今回の質問の前に思いつく限りの検索ワードで調べました。
以下の媒体は特に参考になったと思えたページの一部です。
流石に書籍やpdfを全ページ読んだとは言いませんが、
SECTION、PResetPRG、CODE、LOCATE=H'0400、_PowerON_Reset:、$VECT0、DATA
など、コード内にあった主要な記号は全て検索し、
ヒットした箇所の前後の記述を熟読し、それでも理解できなかったので質問しました。
今は >>423 さんのレスにあった疑似命令について調べているる途中です。
プログラムはHTML/CSSしかやったことがなく、そっちの感覚が全く使えないので苦慮しております。
[プログラム](http://www.t-net.ne.jp/~kuu-sky/page090.html)
[01_01.EPS](https://nagasm.org/ASL/manual/soft.pdf)
[HEW 生成ファイル補足説明(H8S、H8/300)](https://www.renesas.com/us/ja/document/man/735601)
[H8プログラミングメモ](https://bluefish.orz.hm/sdoc/h8_prog.html)
[たのしくできるH8マイコン制御実験 - 横田一弘 - Google ブックス](https://books.google.co.jp/books?id=hNPVNj4wuOIC&printsec=frontcover&hl=ja#v=onepage&q&f=false)
(https://books.google.co.jp/books?id=9dd1xBNFRpAC&printsec=frontcover&hl=ja#v=onepage&q&f=false)
[ppkitinside2004.pdf](http://www.robot-triathlon.org/kit/ppkitinside2004.pdf)
[H8S H8/300シリーズ クロスアセンブラ ユーザーズマニュアル](https://www.renesas.com/us/ja/support/document-search?keywords=j702038_h8s)
[H8/36064グループハードウェアマニュアル](https://www.renesas.com/jp/ja/document/mah/h836064-group-hardware-manual?language=ja&r=1052281)
[プログラミング(前編) | Renesas](https://www.renesas.com/jp/ja/support/engineer-school/mcu-programming-peripherals-05)
[H8/300H シリーズ プログラミングマニュアル](https://www.renesas.com/jp/ja/document/man/870711)
[猫ですが。: H8マイコン-その1](http://konohanaya.blogspot.com/2010/10/h.html)
426419
2022/07/23(土) 00:43:15.10ID:6LmREh/f >>420
開発時にメモリ上にどのようにデータを配置するかの指定は今は一般的にリンカの仕事
パソコンのプログラムはもちろん、マイコンでも今はリンカに対して配置するアドレスを
指定するのが一般的
ルネサスの場合、現行のRXマイコンやRAマイコンなどもアドレスはリンカに指示する
しかしレガシーな開発環境だとアセンブラコード内にアドレスを直打ち出来たりして
>>416の例はそのケースだと思う。今時の開発環境でこのパターンはレアと
思われるので理解を深める必要はないかも
H8の開発環境はないのでRXマイコン(CS+)の例だけど
RXマイコンのリセットベクタのアドレスは0xFFFFFFFCからの4バイト
リセットが解除されるとこのアドレスの値がPCへロードされる(=書かれているアドレスから実行が始まる)
ttps://uploader.purinka.work/src/20992.png
右のメモリダンプを見ると0xFFFFFFFCの値は0000C0FF。リトルエンディアンなので並べ替えると
0xFFC00000となりこのアドレスから実行が開始される
左の逆アセンブルリストで0xFFC00000を見るとPowerON_Reset_PC関数がある
PowerON_Reset_PC関数のソースコードを見ると
ttps://uploader.purinka.work/src/20994.png
#pragma sectionでResetPRGセクションへ配置するよう指示されている(91行目~)
Pはセクション種別で2文字目以降がセクション名
そしてリンカの設定を見ると
ttps://uploader.purinka.work/src/20993.png
ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する
開発時にメモリ上にどのようにデータを配置するかの指定は今は一般的にリンカの仕事
パソコンのプログラムはもちろん、マイコンでも今はリンカに対して配置するアドレスを
指定するのが一般的
ルネサスの場合、現行のRXマイコンやRAマイコンなどもアドレスはリンカに指示する
しかしレガシーな開発環境だとアセンブラコード内にアドレスを直打ち出来たりして
>>416の例はそのケースだと思う。今時の開発環境でこのパターンはレアと
思われるので理解を深める必要はないかも
H8の開発環境はないのでRXマイコン(CS+)の例だけど
RXマイコンのリセットベクタのアドレスは0xFFFFFFFCからの4バイト
リセットが解除されるとこのアドレスの値がPCへロードされる(=書かれているアドレスから実行が始まる)
ttps://uploader.purinka.work/src/20992.png
右のメモリダンプを見ると0xFFFFFFFCの値は0000C0FF。リトルエンディアンなので並べ替えると
0xFFC00000となりこのアドレスから実行が開始される
左の逆アセンブルリストで0xFFC00000を見るとPowerON_Reset_PC関数がある
PowerON_Reset_PC関数のソースコードを見ると
ttps://uploader.purinka.work/src/20994.png
#pragma sectionでResetPRGセクションへ配置するよう指示されている(91行目~)
Pはセクション種別で2文字目以降がセクション名
そしてリンカの設定を見ると
ttps://uploader.purinka.work/src/20993.png
ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する
427419
2022/07/23(土) 00:44:12.83ID:6LmREh/f >・このCPUはリセットされると0番地から実行を開始する
正確にはこれは間違っている。正しくは0番地に書いてあるアドレスから実行が開始される
リセットベクタというかベクタテーブルには大きく分けて2パターンあって
・該当するアドレスに書いてある命令を実行する
・該当するアドレスにアドレスから実行する
通常はこのどちらか。H8は後者。前者は古い物に多くて、新しめのはほとんど後者
>・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
>.SECTION $VECT0,DATA,LOCATE=H'0000
>.DATA.L _PowerON_Reset ←PowerON_Resetのアドレスが配置される実データ
この部分が該当箇所。最終的なデータを出力しているのはアセンブラ
上にも書いたけどこのような書き方は今の主流ではない
何となくだけど開発ツールの扱いもまだ不慣れなのかな。自分も使いこなせているとは言い難いけど
正確にはこれは間違っている。正しくは0番地に書いてあるアドレスから実行が開始される
リセットベクタというかベクタテーブルには大きく分けて2パターンあって
・該当するアドレスに書いてある命令を実行する
・該当するアドレスにアドレスから実行する
通常はこのどちらか。H8は後者。前者は古い物に多くて、新しめのはほとんど後者
>・H'0000番地の中にH'0400が入っているについて、その入れる処理は、どこがそうなっているんですか?
>.SECTION $VECT0,DATA,LOCATE=H'0000
>.DATA.L _PowerON_Reset ←PowerON_Resetのアドレスが配置される実データ
この部分が該当箇所。最終的なデータを出力しているのはアセンブラ
上にも書いたけどこのような書き方は今の主流ではない
何となくだけど開発ツールの扱いもまだ不慣れなのかな。自分も使いこなせているとは言い難いけど
428デフォルトの名無しさん
2022/07/23(土) 01:38:12.90ID:mkhmVAM0 >>>423
調べてきました!
DATA命令を使ってメモリ上にアドレスを確保できるってことですね。
どうやら自分はその使い方を、検索時に見落としていたようです。
ようやく0000の中に0400が入る流れがイメージできました。
レスの内容を頼りに調べたところ、下記書籍にDATA命令を用いて
アドレスシンボルの番地をメモリに確保する旨の解説がありました。
たのしくできるH8マイコン制御実験
https://books.google.co.jp/books?id=hNPVNj4wuOIC&printsec=frontcover&hl=ja#v=onepage&q&f=false
>>426-427
419さん画像付きでの解説ありがとうございます!今の自分は「リンカとは?」ってレベルなのですが、
少なくともその「ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する」までの解説は、
画像を見ながら最後まで追いかけることができました。
来週また学校へ行った時に、HEWのツールで同じように追いかけてみます!
「0番地に書いてあるアドレスから実行が開始される」のご指摘も含めて、今後も学んでいきます。
調べてきました!
DATA命令を使ってメモリ上にアドレスを確保できるってことですね。
どうやら自分はその使い方を、検索時に見落としていたようです。
ようやく0000の中に0400が入る流れがイメージできました。
レスの内容を頼りに調べたところ、下記書籍にDATA命令を用いて
アドレスシンボルの番地をメモリに確保する旨の解説がありました。
たのしくできるH8マイコン制御実験
https://books.google.co.jp/books?id=hNPVNj4wuOIC&printsec=frontcover&hl=ja#v=onepage&q&f=false
>>426-427
419さん画像付きでの解説ありがとうございます!今の自分は「リンカとは?」ってレベルなのですが、
少なくともその「ResetPRGセクションは0xFFC00000が指定されていて上記アドレスと一致する」までの解説は、
画像を見ながら最後まで追いかけることができました。
来週また学校へ行った時に、HEWのツールで同じように追いかけてみます!
「0番地に書いてあるアドレスから実行が開始される」のご指摘も含めて、今後も学んでいきます。
429デフォルトの名無しさん
2022/07/23(土) 11:02:36.52ID:a/eG1EZ0 うむ。なかなか見所のある若者じゃ、精進なされよ
430419
2022/07/23(土) 11:39:15.16ID:n897GEgW ぶっちゃけ「今更H8かよ」感はある
確かに古い故にシンプルだろうし学校の教材の都合なんだろうけど
H8マイコンのほとんど(全部?)は新規開発非推奨になっているはず
マイコンの勉強にはなっても実践的ではない
>>428
本気でマイコン開発を勉強したいなら32bitマイコンのボードを購入して弄ってみる方が
良いかもしれない・・・と思ったけど今やルネサスの評価・試作ボードは値上がっている上に
販路も限られるようだ。国内から買えるところだとTarget Board for RXもRA Fast Prototyping Boardも
chip1stopかmouserくらいしかなくて値段も4~5千円くらいはするっぽい
自分のパソコンを持っているならだけど、HEW後続のCS+の評価版は無料で利用できるから
ダウンロード(確か要登録)&インストールして同梱されているRXシミュレータを動かしてみるとか?
RXのシミュレータはお世辞にも出来が良いとは言えないけど>>426程度の確認は出来るし
ルネサスがRXをH8の後続に据えていることもあってH8→RX移行マニュアル的なドキュメントも揃っている
もちろんH8のノウハウそのままとは行かないけど雰囲気を掴むくらいは出来るのでは
あとリンカに関してだけどそもそもリンカを含む低レイヤーの解説資料は少ないと思う
自分が知る範囲だとこの本を紹介しておく
リンカ・ローダ実践開発テクニック
ttps://shop.cqpub.co.jp/hanbai/books/38/38071.html
FreeBSD&gcc環境で解説されていてマイコンに特化した説明ではないので適宜読み替える必要があるけど
確かに古い故にシンプルだろうし学校の教材の都合なんだろうけど
H8マイコンのほとんど(全部?)は新規開発非推奨になっているはず
マイコンの勉強にはなっても実践的ではない
>>428
本気でマイコン開発を勉強したいなら32bitマイコンのボードを購入して弄ってみる方が
良いかもしれない・・・と思ったけど今やルネサスの評価・試作ボードは値上がっている上に
販路も限られるようだ。国内から買えるところだとTarget Board for RXもRA Fast Prototyping Boardも
chip1stopかmouserくらいしかなくて値段も4~5千円くらいはするっぽい
自分のパソコンを持っているならだけど、HEW後続のCS+の評価版は無料で利用できるから
ダウンロード(確か要登録)&インストールして同梱されているRXシミュレータを動かしてみるとか?
RXのシミュレータはお世辞にも出来が良いとは言えないけど>>426程度の確認は出来るし
ルネサスがRXをH8の後続に据えていることもあってH8→RX移行マニュアル的なドキュメントも揃っている
もちろんH8のノウハウそのままとは行かないけど雰囲気を掴むくらいは出来るのでは
あとリンカに関してだけどそもそもリンカを含む低レイヤーの解説資料は少ないと思う
自分が知る範囲だとこの本を紹介しておく
リンカ・ローダ実践開発テクニック
ttps://shop.cqpub.co.jp/hanbai/books/38/38071.html
FreeBSD&gcc環境で解説されていてマイコンに特化した説明ではないので適宜読み替える必要があるけど
431デフォルトの名無しさん
2022/07/23(土) 11:46:55.13ID:PpxI5rKd アセンブラでリンカの話とか最初からしてもなぁwとは思う
432デフォルトの名無しさん
2022/07/23(土) 12:01:32.61ID:bR39w9BX H8のベクタってその番地にjmpを描くんじゃないの
433デフォルトの名無しさん
2022/07/23(土) 12:08:49.71ID:ESnt81dA H8/3069Fみついわボードはよく出来てたなあ
H8のアーキテクチャは普通のPCのCPUと同じノイマン型だからアセンブラの学習には良いと思う
当時はWebでの情報も比較的多かったが
今はどうかな
H8のアーキテクチャは普通のPCのCPUと同じノイマン型だからアセンブラの学習には良いと思う
当時はWebでの情報も比較的多かったが
今はどうかな
434419
2022/07/23(土) 12:28:51.76ID:n897GEgW >>431
現在の学習レベルだと、とりあえず「そう言うもんだ」で済ましてかまわないとは思うけど
本人は納得できていないみたいだし、いつかは理解しなきゃいけない部分だし良いんでないの
割り込みコントローラ回りを弄るようになったらデバッグのために嫌でも覚えるようだろうし
現在の学習レベルだと、とりあえず「そう言うもんだ」で済ましてかまわないとは思うけど
本人は納得できていないみたいだし、いつかは理解しなきゃいけない部分だし良いんでないの
割り込みコントローラ回りを弄るようになったらデバッグのために嫌でも覚えるようだろうし
435416
2022/07/23(土) 14:22:31.02ID:mkhmVAM0 >>430
学校というのは実は職業訓練でして。
今はH8/TinyマイコンとHEW環境を教材にして学んでいますが、
この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
H8が時代を感じるものであることは承知しており、プログラムや組込みの基礎を学びつつ、
「わからない状況に陥った時の対応力」を鍛えるつもりで向き合っています。
今回は、自分が勉強しなくちゃいけないところがよくわかりました。
メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
あとDATA命令の使い方もおさらいします。
ソースコードはちゃんと、1行1行全部、根拠付きで説明できるようになりたいですね。
>HEW後続のCS+の評価版
環境は自宅でも導入しようと以前調べたのですが、自分のメイン機がMac(M1Air)でして、
HWEがMacで使えないと知り、ちょっと保留にしているところです。
Windows機は10年ほど前に買ったDELLのinsprion15Rが押し入れに眠っているので
Macでやるいい方法が見つからなかったから、お盆あたりにそいつを蘇生しようかな、と。
HEW後続のCS+の評価版の件と、リンカ・ローダ実践開発テクニックはブクマ入れました。
学校というのは実は職業訓練でして。
今はH8/TinyマイコンとHEW環境を教材にして学んでいますが、
この後の授業は半年かけて、C言語、ラズパイ、Java、スマホのアプリ制作と進んでいく流れです。
H8が時代を感じるものであることは承知しており、プログラムや組込みの基礎を学びつつ、
「わからない状況に陥った時の対応力」を鍛えるつもりで向き合っています。
今回は、自分が勉強しなくちゃいけないところがよくわかりました。
メモリとCPUの関係と、プログラムカウンタの動き方をよく調べておきます。
あとDATA命令の使い方もおさらいします。
ソースコードはちゃんと、1行1行全部、根拠付きで説明できるようになりたいですね。
>HEW後続のCS+の評価版
環境は自宅でも導入しようと以前調べたのですが、自分のメイン機がMac(M1Air)でして、
HWEがMacで使えないと知り、ちょっと保留にしているところです。
Windows機は10年ほど前に買ったDELLのinsprion15Rが押し入れに眠っているので
Macでやるいい方法が見つからなかったから、お盆あたりにそいつを蘇生しようかな、と。
HEW後続のCS+の評価版の件と、リンカ・ローダ実践開発テクニックはブクマ入れました。
436デフォルトの名無しさん
2022/07/23(土) 15:00:25.61ID:cRrcO95j うむ
437デフォルトの名無しさん
2022/07/23(土) 17:13:46.90ID:FGM1D/su 職業訓練校でH8でアセンブラなんて尖ってるなぁ。
アセンブラなんて基本情報処理向けにCASLでも勉強して
マイコンなんてCでいいと思うんだけどな。
アセンブラなんて基本情報処理向けにCASLでも勉強して
マイコンなんてCでいいと思うんだけどな。
438デフォルトの名無しさん
2022/07/23(土) 18:33:10.27ID:qgluObjk 単にアセンブラと言ってもOSみたいのを作る場合と単にユーザープログラムを
書く場合では必要な知識が違うと思われ
書く場合では必要な知識が違うと思われ
439デフォルトの名無しさん
2022/07/23(土) 19:08:26.97ID:PpxI5rKd >>438
そうだね
今時組み込みですらlinuxとかOSを使うし一昔前でもitronとか使ってたし
直接リセットベクタやらを設定するようなプログラムは現実にはスーパーファミコンぐらいの
時代に戻らないと無かった気がするな
まぁ、コンピュータの知識としての課題でそういう基礎と言うか基本的な事を知っていて悪い事では無いけど
相当前から最低でもC/C++での開発だっただろうし部分的にインラインアセンブラを使う事はあっても
アセンブラでOS無しのプログラムを書くことはまずないからそんな知識は今となっては殆ど必要無くなってるよね
そうだね
今時組み込みですらlinuxとかOSを使うし一昔前でもitronとか使ってたし
直接リセットベクタやらを設定するようなプログラムは現実にはスーパーファミコンぐらいの
時代に戻らないと無かった気がするな
まぁ、コンピュータの知識としての課題でそういう基礎と言うか基本的な事を知っていて悪い事では無いけど
相当前から最低でもC/C++での開発だっただろうし部分的にインラインアセンブラを使う事はあっても
アセンブラでOS無しのプログラムを書くことはまずないからそんな知識は今となっては殆ど必要無くなってるよね
440デフォルトの名無しさん
2022/07/23(土) 21:02:27.65ID:FAO+OpS7 組み込みやったことないのか
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★8 [ぐれ★]
- 【外交】元台湾総統・馬英九氏、高市首相発言に「台湾を危険にさらす」台湾海峡の問題は「両岸の中国人が自ら話し合うべき」★2 [1ゲットロボ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【芸能】俳優・野村宏伸 テレビドラマの制作費やギャラの現状訴え 「比べものにならない位、今は低くて…」 [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 【悲報】資産400億投資家「日本円ガチホはアホ、アベノミクス並みの自国通貨安売り後進国狙い政策でみんな貧乏外国からの仕事で頑張って [733893279]
- 【悲報】自民党のヒゲ、外務省局長と中国高官の写真にブチギレwwwwwwwwwwwwww [834922174]
- 【悲報】ヤフコメ民「中国が水産物を輸入禁止にするなら、日本国民向けに安く販売すればいい。中国依存から脱するべき」 [153736977]
- 麻生太郎、腹をくくる「日本国民が高市を総理に選んだ。であるならば最期まで支えるのが私たちの役目」 [329329848]
- 【ぺこ専🐰】なんG 兎田ぺこら実況スレ🏡【ホロライブ▶】
