マイコンソフト 悩み事相談室 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
.
∧ ∧
( ´・ω・) < コンフィグって何? 昆布なら知ってる。 ボラチルって何? ボラは魚だよ。
( ∪ ∪ ,.-、 ,.-、 ,.-、 ,.-、
と__)__) (,,■) (,,■) (,,■) (,,■)
PIC AVR H8 ARM
学校でC言語を習ったことがあるので「楽勝でしょ」って、マイコンを始めたけど、
わからないことだらけ。誰か教えて!
PCとは別世界の、マイコンのソフト。難しいよね。
ツールの使い方、ツールの設定、マイコン特有のC言語の書き方、
「デバッグモードにプログラミングモード。何?」 Eclips, Emacs って何?
VBAしか知らないよぉ、という人まで、
各社マイコンに関するマイコンソフト相談室です。
質問者は、「初心者質問スレ」の>>1を見て、分かり易く質問を書いてね。
回答者は、威張らない、バカにしない、言葉使い注意で、親切に教えてあげてね。
あっ、そうそう。
ハードウェアに関する質問は、それぞれのマイコンのスレに、達人がいるから。
過去スレ
1 2014/09/11〜
2 2016/07/31〜 http://rio2016.2ch.net/test/read.cgi/denki/1469905691/l50
では、質問、ドゾ〜 if(0){}ってのを見てなるほどといたく感心したことがある。 do{ }while(0)やif(0){}でくくるのは
構文解析されるがそれはメリットデメリット両面ある
あまり入り組んだことせずに#if 0〜#endif 使った方が意図が明瞭でいいな >>292と>>293は目的が違うんだが
if (0)
#if 0
この2個は場合によって使い分ける マクロ展開して結果的にif (0)になるケースがあるねん コンパイルのチェックを通したい場合と通したくない場合 今時、こういう事を言う人がいるかどうか分からないけど
/* */とか#if0でコメントアウトすると、元のコードとオブジェクトの出力が違うから
新たなバグ発生(というか、本当は元々あったバグの生じる現象が違うだけだが)
する可能性があるから、ダメだと言う人がいる
if (0) でも、コンパイラ&最適化設定によっては同じなんだけど
バカと議論しても時間のムダなんで、そうしろって言うんだったらそうするしかないよな で、もう少し前向きの話をすると、if(0)とかするからコンパイラが最適化しちゃうんで
if(var1)としておいて、main()かどこかで var1=0; ってしておけば、今のところ
それに気づいて最適化するようなコンパイラはいないと思う マイコンじゃないけどVC++6.0で
int i;
…
for (int i = 0; ; ) { }
とやるとiが二重定義エラーになるのを避けるためにファイルの先頭に
#define for if(0); else for
と書いてたのを思い出した。 そういや組込みソフト屋のここの人達はエディタ何使ってる?
俺は秀丸で、職場の周りの人も秀丸ばかりw 大昔はMIFES、windowsになって似た感覚で使えるの探して秀丸購入。
MIFESの値上がりに愛想つかしてそれっきり。
秀丸はユーザーの声を反映したバージョンアップがうまいと個人的に思う。 20年前に買ったライセンスで動かす秀丸手放せないな ただバイナリモードはスターリングに慣れてるので使ったことないw
いいきっかけ貰った。使い心地試してみるよ。 秀丸今も儲かってんのかな
どっかの法人が定期的に買ってるとか? 私はWZ。
DOS時代にMIFESからVZに移行して、以後、何となぁくの流れでWZに。 IDEエディタだと狭くない? カスタマイズもできないし
おせっかい機能は便利かウザいか人それぞれだが
自分は以前MIFES、今sakura
秀丸は何となく好きになれない >>311
昔、Sakuraエディタを好きで使ってたけど、内部Shift-JISだったせいで、
Unicode編集が必要になったときに離れてしまっていた。
Wikipedia を見たら、2011年に Unicode版が出てたのですね。
コーディングは各社IDEですけど、それ以外でテキストファイルを扱うことは多いので、
Sakuraエディタもチェックしてみよう。 やっぱり秀丸でしょう
検索文字列のハイライトが、ずっと消えずに残っていてくれるのは、たまらない。
ただ、矩形カット&ペーストなど 矩形領域で編集出来ないのが残念。
MIFESは出来た(と記憶) >>314
秀丸で矩形コピーできるよ。あんまり使わないけど。 多くのIDEでそれができないから秀丸をサブエディタとして使っている俺
MIFES時代から矩形編集使いまくってた 秀丸自体にファンクションキーをMIFES風にする定義ファイル入ってるよ そういえばWZエディタのキー入力定義ファイルをVZ風からWindows風に変えたら、
スムーズに操作できなくなってビックリしたことがあった。
テキスト入力中のキー操作なんてほぼ無意識のうちにやってるんだね。 IDEっていえばなんらかのプログラミングの話だと思うのですが、
どんな場合に矩形編集が便利に使えるのですかね…。 >>320
各行末にコメントを入れている場合、
コメント以外を選択したとき
コメント位置にタブを挿入したい時 >>321
> 各行末にコメントを入れている場合、
老害の典型 インデント揃えるために100行くらいまとめてタブ挿入するとか
改行入れたテーブルデータをブロックで抜き出すとか
ぱっと出てこないけど、使いこなしているが故に出来ないとストレスなんだよね。 思い付きの一例だから突っ込まんでくれw
要望がそれなりにあるからこそ、そんな機能が有るんだろうくらいで。 >>322
全ての行に意味のないコメントを書くヤツがいたなあ
普通にテーブルとかで複数行揃えてコメント書く場合はあるよな
複雑な編集だと秀丸を使ったり、
場合によってはエクセルとかツール作ったりとか マイコン関係のIDEがだいたいWindowsだから >>323
整形ツールあるよね。客先の指定で使ったり使わなかったりで、使わないことのほうが多いけど。 めんどいからforの中とかifブロックの中で揃ってればいいや >>322
普通は、どうやってコメントを入れるの? >>331
ボッチでプログラム書いてるなら
プログラム コメント 書き方
とかでググってテキトーに決めればいい
チームでプログラム作ってるならそのチームのやり方に従え >>332
>>331はコメントの入れ方の一般論を尋ねているのではなかろ。
各行末にコメントを入れることについて「老害の典型」と言ってる>>322に実践している方法を尋ねているのではないか? >>333
ひょっとして「普通は」の意味がわかってないの? >>335
「普通」を個人に対して尋ねているときは、「その個人が普通だと思っていること」を尋ねているだろね。 納品するプログラムだと未だにステップ数換算とかあるから、コメントも1ステップ扱いされるんで、全行末にコメントあったりするねぇ。
そんな時は、矩形選択が便利やねぇ。
それにしても、納品先はどう考えてるのやら… >>333
はい、その通りです。
言い方を変えると「じやあ、どんな入れ方が良いと言うんだ?」ということです。 欲しいのはコメントでもプログラムそのものでもねーよ
とか思ってたりしてw >>337
いまだにコメントまでお金を取る所があるのか
契約内容を見直した方が良いんじゃない? >>338, >>340
だからググれば色々出てくるだろ
自分がよいと思う奴を採用すればいい
俺のところのやり方がお前に合うかどうかは知らんし、下らんいちゃもんつけられても困るし >だからググれば色々出てくるだろ
>自分がよいと思う奴を採用すればいい
>>338、>>340を読んでないな。
読めばそのレスが的外れなのはわかるだろう。
>>342ではなく、>>322のやり方を聞いているって書いてあるのに。
>>322がなんなりと書けば、それなりにいちゃもんが付く可能性もある。
そりゃそうだ。他人の流儀を「老害の典型」なんて批判するぐらいだ。
よほど立派な流儀でなければ、お前が言うか、って言われて当然だと>>342だって思うだろ?
しかし、こういうことは回避策もあるのにな…。 よほど立派な流儀でなければ、お前が言うか、って言われて当然だと ID:Ra0M84o4 だって思うだろ? いちゃもん付けるだけで、自分の意見があるわけじゃなさそう。
追い詰めても、何も出まい。 老害はしつこい w
そんなアホレス返す前にググって自分に合うコメントの入れ方見つけりゃいいのに >>322
では、どのようなコメントの入れ方なら良いのでしょうか?
教えてください 自ら、何も出せない事を肯定する書き込みしなくても良いのにね。 >>350
>>322の手法を聞いているのに、ググってもでてこないでしょう。
>>322に回答して欲しいんだ
もしかして>>350=>>322なのか? >>350
ご紹介のページのソースは、ソースと同じ左右位置にコメントが書いてあるね。
しかもソースの間に。
その方法を推薦するの? 判読性が悪くない? >>352
> ソースと同じ左右位置
インデントと言う用語も知らんのかよ...
さすが老害 w >>353
インデントと左右の位置は、違うけどね。 違うと言うならその意味を説明しないと君だけのオレオレ用語なんて誰にもわからんよ ケツの青いバカ造の得意な言葉:「老害」
「老害」で全てを片付ける、ってのは、見ていて精神の貧困さが感じられて痛々しいな。 >>350のリンク先はコメントに何を書くべきかを論じているのであって、記法についてはつっこんだ話は書いてないように見える。
ルールが定められているときはそれに従うとして、自分で自由に書ける場合の話。
行間に入れる書き方は、ソースコードとコメントを同じ流れで書き連ねるのにあたって、
思考がブツ切れにならないので好きだけど、こういう考えるプロセスそのものは個人によって異なるので、
一般論として「行間に記入する方が思考がブツ切れにならない」とは言えない。
それと、行間に入れる記法だと、行数がどんどん増えてしまう。
また、何年もたってから、ソースコードだけを読みたいときに、最初に書いたときの思考のプロセスとは裏腹に、コメントが読み取りの邪魔になることがある。
行末に入れる方がその点では良いはずなんだけど、どうも変数関数の名前が長くなりがちで、プログラム自体の1行の文字数も多くなっているものだから
横スクロールが苦痛になってしまう。
ところで、>>322はどんな書き方をしているのだろうね。 >>360
それはインデントって言葉を知らなかったか使わなかっただけのことじゃないの? >>359
ソースは、その形で流れや動作がわかるという面があるので、
その行間にコメントがあっては、流れや動作がわならない。
とかく変数名は長くなりがち。一行は100文字以下にしているけど
行末のコメントに工夫がいるね。 行末でには書かない322は、どんな書き方しているのか、知りたい。
画面の左半分はソース、右半分はコメント、
と言うのが僕の書き方。 各行末にコメント
だから全部の行に意味のないコメントを書いてるようなのを老害って言ってんだろ
意味のあるところに意味のあるコメントを書かないとな
行末はその行に関するコメントになるが
そういう小さな単位のコメントは規模が大きくなると邪魔になる
意味のあるものに絞らないと
まとまったブロックに対するコメントは行末には書かないよな
一行〜数行、コードのインデントで書いたり
関数ヘッダやファイルヘッダは普通は複数行で
インデント無し
時と場合によってそれぞれの適した書き方がある >>364
別にお前のコメントの書き方に興味はないしボッチ開発なら好きに書けばいい
ただ少しはオープンソースとかソースを公開してる製品のソースコードを見た方がいいぞ
そうすれば今時そんな書き方してる奴は少数派ってわかるはず >>363
それは苦し紛れに言い訳けしただけじゃないの? 個人の流儀で良いというのであれば、多数派か少数派かで価値に対する色付けをするのはおかしいな。 >>366
そうですか。
では、大多数は、どのような書き方をしているのでしょうか?
ぜひ教えて下さい。 >>367
そう言うのを俺に言われても困るよ
>>355に聞いてくれ
まあガン無視してるからあんたの想像が合ってるかもね >>368
別に価値があるとかないとかを言ってる訳じゃないよ
>>321 > 行末にコメントを入れている場合
みたいなのは昔よく見たって話で、例えばアセンブラ言語なら今でも(全ての行には入れないけど)行コメントはアリだろうとは思う
また、自分一人しか使ってないスタイルでもそいつが便利に使ってるなら(少なくともそいつにとっては)価値がある 調べるヒントを書いてあるのにも関わらず自分で調べようともしない>>369みたいなのも老害の特徴だな なんか話が違わくね?
毎行末にコメント入れるようなスタイルと
要所で行末にコメント入れるスタイルの話が混ざってる気がする。
前者は明らかに時代遅れってかおかしいけど
後者は普通にやってるけど。
もちろんブロックごとのコメントも入れるけどねー 「各行末にコメントを入れている場合、」
要所ではないよな
テーブル的なものなら別に時代遅れでもない
構造体や変数宣言やenumでもまあ普通
普通のコード部分なら時代遅れ 各行末にコメントを入れるってアセンブラのソースじゃないの? ちょっとズレた話だが、むかーし、クライアントから機械語でプログラムを書いてくれって依頼があったのを思いだした。
で、コメントを細かく入れてくれって言われたよ。
ハンドアセンブルした機械語のダンプに、どうやってコメント入れろと…
クライアントのスキルも色々とあるんだよ、きっと。 今はマイコン=組み込みですかね
ArduinoとかmbedとかPICみたいな
OS使わないやつ(RTOS除) マイコンを使った機械制御はリアルタイム性が要求されることが多い。
私はエントリレベルのATtiny2313でさえディスパッチャを自作して並列処理にするときがある。
ポーリングに比べるとプログラムがスッキリ、クッキリ、ハッキリする(場合が多い)。 ユニークで個性的な確実稼げるガイダンス
暇な人は見てみるといいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
W57NZ タスクスイッチャ
普通にできあいのRTOS使えばいいと思うけど 素人はLED1個に対してスレッド1個作るとかアホな事をするからなあ
規模が小さければ通常処理&割り込みが良いよ
OSなんかのせて無駄にオーバーヘッド増やさなくても
Windows規模ですら3.1までは協調型マルチスレッドだった位だし Lチカの話にWindows3.1とか頭わいてるのか? L地下にOSとかバカジャネーノと言ってるんでしょ。
PCですら、プリエンプティブじゃなかったくらい大げさだということ 私がtiny2313のtimer0_CompA用に作ったタスクディスパッチャは13命令でオーバーヘッドは2.5uS(クロック8MHz時)、
セットアップ(タイマ起動やスタックのセットなど)は25命令程度。
もちろんいっぱい制約や注意すべき点があるが、それでもシングルタスクとは大違い。
…と書いたけど、いつでも役に立つというわけではないし、私もシングルタスクで処理する方が多い。 ■ このスレッドは過去ログ倉庫に格納されています