X



トップページ電気・電子
1002コメント361KB
マイコンソフト 悩み事相談室 3 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001774ワット発電中さん
垢版 |
2017/06/19(月) 02:24:24.69ID:mEcw5Uka
.
  ∧ ∧    
  ( ´・ω・) < コンフィグって何? 昆布なら知ってる。  ボラチルって何? ボラは魚だよ。
  ( ∪ ∪   ,.-、     ,.-、   ,.-、     ,.-、
  と__)__)  (,,■)   (,,■)  (,,■)   (,,■)
         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

  では、質問、ドゾ〜
0002774ワット発電中さん
垢版 |
2017/06/19(月) 07:51:37.09ID:PlsgISF5
)())))(((()))((((((())(()()()(())())()(((()(())()())())()(())(()))())(()))()
()(()))()((()())(())))()())()))())))()(())(((()()(())((()())()((()()())((()(
))())()())))))(())))(()((()((()))(()()))()()((()()()()()))((()()()(((((())((
((())(())))()(())))()))(()((((()()()((()())(()))))(()()())((()(()))()())()((
((()()(((()))((()((()(()(((())(()()()))()()()))))))()()()(()))))((()()(())))
()))(((((())((()(((())())(())))())())(((())(()))()())()()()())(((()())(())))
)(()(()())(())()()(((())))())))))())))())()()(((((((((()))())((())(()())(()(
))()((()()()((())(((()(()))((())(()()(()()))((()))()()))))(((((()))))(()))()
)((()(())()()))((()))()()((()()))())((()(((())(()))(()))((()())(()))(())())(
((())))((((((()(((()())()()())()())((()()(())))())())()())(((()()))))())(())
)))())()(()()))((((())))((()())()((()()(())()(()()))()((()()(()))((((()))())
))((()))))((()()))())((((()((()()(((()))((((()))))(()()(()()))))(()(())())()
(())()))))))))()()((((((()))()())((()((()))((()))((()()(()(()()()((()))())()
(()()((((()(((()()()))))()()()))()()()(()((())())))))())))(()))))((())((((((
((()))()(()))))((()((()()))()(()()()))((()))())()))()))()((()(()(())(((()()(
(()(()()()))()(()))(((())((()()())())(())))))())()())((()((())()((()()(()())
())))(())))((()(()))()(()(())()((((()())((())))))((()))))()(((())())(()((()(
((())(()()(()(((()))))())(()()(()())))))((()(()()())))))(()(()((()))()((())(
()()())))(()))(()())(()((()))()))()(()(((((()((()))(((()()()))((())()(()))))
()())((()()()()())()())())()(())()(()(())()(())()()())(((()()()(()))()())()(
(((())()(((()))((()((())()))())((()()))))())())())(()()))()(())()()((())()((
)((()()())()(()(()))))())(())))(((()()())(())(()()()))(())))()((())()((()(((
)))(())(())())(((())((((((())(()))(())()((((()(())((())(()(()))))(()))()))))
)))(()))((((((((()())((()()()((())(((()(())())()()()()((()))))))()()))()()))
))(()(())))(()()(((()()(()(((()()((((())))()())))(()(()))))()))((()))(()()()
()()(()(())()())))()()))))(((()((())())())()))(())(())))(()((())(((())(()(((
)(()(()(()()((()()))))()())))))()))))((())((())())()())(()((()())(()(()(((((
())()()())()(()()()()))()(((()(((()(()(())))))))))(((())))(()((()())()())(((
))()()(()()(()))(()(((())()(()))))))))((()(()))()(((()))))()((((())()))(((((
(((())))))))()))))(((()(()((())(()())((())(((()))()((((()))))()()(()()()())(
()(()(())()(())))()())))())))()))(())()))()((())()(((()))((((((()()((()()()(
)(()(()()()(()()((()))())(()()()()(()())))))((()))(((((()))(())((()))())()()
))())((()(()()((()()())()(()())())())))(()))))(()(()((()())(((()())))()((()(
)))))()())(((((()()()))((())()((()()((((((())()((()))(()))((()))())))))((())
)((()()((((())()())(()(((((()))(((()(())()))))())()()()))(((()))((())())))))
()())((()(())(()(((())((()))(())(())))((())()()))(())(())((()()))()(()())())
)(()))(()))()()(()((())))()()))())()()(()))))(())(()(()()(((())(((((()(()())
())((((((()()()()()()(()()(())))()))()))()(())))(()((()()())(())())))(((())(
))()(()()))))())())()()(())))()((()()((()()(())(((()))(((()()))(((()))((())(
)()))()(())(())((()()((()()((((((())))(()()))((()())()))))())()()))(((((()))
)((())()())))((()())))(()(()(()())))(()(())((()()))((()(()))())()()))((((()(
))(()))))((())()(()()())()(())()(()()()()()(()(((((((())))())))(()())())()((
((()(((()()))((()))))()(()))()(()))(()())())((()(()())()())(())()()()(()))((
)(())(())(()(()(((()))(((((((()()()(()))()()))))(()))())())(())))))(((())()(
()(((())))()((())()()((()())))()))()(((())))()))))()(((((())))(())((()()((()
(()()))())()()(())((()()))(())()()(()(()()(((()))))((((()(()(()(()))))()()))
())))(())())))(()((()((())()())))()(()((((()))))()(()(()))(()()()()(((()())(
((()())(((()()))((()()))()())))))))))()(()((((()(())))(()))(((((((())())(())
))()()(((()()))((())())))((((()())(())(()()()(())(()(()(()()((())())(())))))
))))))(((((())()((()((()((((()(())))))))))))()())(()())(())((((((())())))(((
0003774ワット発電中さん
垢版 |
2017/06/19(月) 10:52:55.25ID:EdOpnlBp
間もなく、終点 東京です。
18番線 お出口右側です。
0004774ワット発電中さん
垢版 |
2017/06/25(日) 10:14:59.32ID:sV/UrkFl
どこで聞いていいのかわからないので、ここでお尋ねします。

マイコンにはRAMとEEPROMがありますが、
EEPROMには書き込み回数の限界があるようですが、
RAMには、書き換え回数の限界があるのでしょうか?

ドライブレコーダーのように、記録し続けて、何かあったときには、その前後を記録保存するとき
常にEEPROMに書き込んでおけば、楽だと思うのです。
しかしEEPROMに書き換え回数があるので、まずはRAMに書き続けて、
何かのトリガーでEEPROMにコピーすることになると思います。
はたしてRAMにも書き換え回数があるのかしら、と思いました。
0005774ワット発電中さん
垢版 |
2017/06/25(日) 12:36:42.94ID:j0LA+m19
RAMに書き換え上限はありません。

あと、EEPROMは「電気消去可能な書き込み専用メモリ」ですが、単にEEPROMというと狭義のEEPROMを指すことが多いのです。

大雑把に言えば、電気消去可能な書き込み専用メモリには、FLASHメモリ と EEPROM があります。
マイコンのプログラムの記録に使われているのはたいていがFLASHメモリです。

FRAM、MRAMというものもありまして、RAMのように書き換えができて、電源がおちても消えません。
0006774ワット発電中さん
垢版 |
2017/06/26(月) 13:12:36.93ID:qhZ1o/lF
>>5
ありがとうございました。
分かり易い説明ありがとうございました。

>FRAM、MRAMというものもありまして、RAMのように書き換えができて、電源がおちても消えません。
いいですね。これを少し調べてみます。
アドレス、データは、RAMと同じようにパラレルで、RAMを剥がして、そこに貼り付けられれば
最高ですね。(動作速度が遅いかも、ですね)
0007774ワット発電中さん
垢版 |
2017/09/22(金) 21:34:24.72ID:BGIt6ybb
すみません hexデータをマイコンに入れたいのですが
The target circuit may require more power than the debug tool can provide. An external power supply might be necessary.
Connection Failed.
と出てしまいます。
翻訳にかけると
目標回路は、デバッグツールが提供できるより多いパワーを必要とするかもしれない。外部の電源が必要であるかもしれない。
接続失敗する。
てなって意味がわかりません(T_T)
どうしたらいいですか
0009774ワット発電中さん
垢版 |
2017/09/22(金) 21:52:35.99ID:vh4xau4f
>>7
見たところPICで、PICkit3だよね?
USB抜き差し
IDEで電源にチェック入ってるか確認
まずやってみて。
0010774ワット発電中さん
垢版 |
2017/09/22(金) 21:53:49.25ID:vs5GQdx9
全く電源がないと、そういうエラーメッセージになるよ
だから文面の通りかと
0012774ワット発電中さん
垢版 |
2017/09/22(金) 23:47:38.77ID:BGIt6ybb
ざっと見た感じ電源にはチェックがついていました。
あと僕が使っているのはpickit3です。
あとご指摘ありがとうございます。
0013774ワット発電中さん
垢版 |
2017/09/23(土) 00:40:19.01ID:7eBNpMQP
やっぱり電圧をいじってもできません。
やっぱりpicライターを変えたほうがいいのでしょうか。(;_;)ガクガク
0014774ワット発電中さん
垢版 |
2017/09/23(土) 03:00:15.32ID:oQ4jUlql
>>13
PICkit3はハブを使わずPCに直接つなぐ
ノートPCは避けてデスクトップ型を使う
PIC以外の不要なパーツはとりあえず外す
USBを幾度か抜き差しする
以上をやってエラーメッセージを確認してみてください
あと、自分の環境を書いて、レスにアンカーを付けて
適当なタイミングでこちらへ
http://rio2016.2ch.net/test/read.cgi/denki/1501157324/
0016774ワット発電中さん
垢版 |
2017/09/23(土) 07:33:17.63ID:KO/+DQKw
このメッセージは、供給電圧をモニタしたときに規定値になっていない時に出るのだと思う。

文言通り書き込み回路自体の消費電流が大きいか、
PC側の供給電圧が低い、
USBケーブルによる電圧降下もあり得る。

俺の場合、外付けHDD用の2股の電源強化USBケーブルを使ったらメッセージが消えたという経験がある。
0017774ワット発電中さん
垢版 |
2017/09/23(土) 07:34:45.40ID:KO/+DQKw
>>16
書き込み回路自体の消費電流
は、
書き込み対象回路の消費電流
です。
0018774ワット発電中さん
垢版 |
2017/09/23(土) 07:37:59.63ID:UmD4ojnA
pickit3の供給電力はすごく小さいんだから
USBケーブルとかPCの電源とかは関係ないよ

問題はターゲット側
0020774ワット発電中さん
垢版 |
2017/09/23(土) 07:42:06.32ID:UmD4ojnA
pickit3が供給できるのは30mAまで
ターゲットの消費電流がそれを超えている

これが一番普通に考えられる原因
0021774ワット発電中さん
垢版 |
2017/09/23(土) 07:46:01.90ID:KO/+DQKw
事実として起きたことを書いただけ。

対象回路の消費電流は、数mAだった。
そもそもPIC以外ほとんど回路ついてなかった。
0022774ワット発電中さん
垢版 |
2017/09/23(土) 07:47:25.80ID:KO/+DQKw
PicKit3付属の硬い赤いケーブルが見当たらなくて100円ショップのケーブルを使ったら
このメッセージが出たからケーブルを取り換えたら動いた。
0024774ワット発電中さん
垢版 |
2017/09/23(土) 08:11:30.54ID:KO/+DQKw
>>23
俺は「PC側の電源供給」って書いたんで
「PCの電源」なんて書いてないからね。

前後から読めばわかる通り、Pickitに対するUSBからの
電源供給の話してるのだから、
誤解した上に噛みつかないようにね。

> USBケーブルとかPCの電源とかは関係ないよ
は、そもそも認識間違いってことで。
0027774ワット発電中さん
垢版 |
2017/09/23(土) 10:54:58.20ID:7eBNpMQP
ご指摘ありがとうございます。
色々とやってみます。
本当にありがとうございます。
0028774ワット発電中さん
垢版 |
2017/09/23(土) 13:14:00.66ID:InAXLEpR
>>27
これまでの回答で解決したかもしれませんが・・・

以下のことを知っておく必要があります。
 ・書込対象のPICには電源が供給されている必要がある
 ・PICKit3は、対象のPICの乗った基板に、電源を供給する能力がある。
です。

PICKit3には、書き込むPICの乗った相手回路に、
「少しくらいの電源なら、PICKit3から供給してあげられるよ」という親切な(?)機能があります。
でも、この「供給できる電気」の量には限界があり、そんなに多くは供給できません。
PICKIt3は、PICに書き込む前に自分が供給できる電気を超えないかを調べる能力があり、
この調査で「やばい、電気多すぎだぁ」と判断されると、そのエラーメッセージが出ます。

ではどうするのか、というと簡単で、
書き込むPICの乗った基板は、別の電源で ちゃんと電気を供給させてあげれば良いのです。
つまりPIC基板は、PICKIt3からは書込む信号だけをもらって、
PICKit3から電気をもらわなければ良いのです。

しかし考えてみると、
相手の基板がどれだけ電気がいるのかわからないのに、
「親切に」電気を供給できる機能があることが、今回のような誤解を招いていると思います。
MPLABのエラーメッセージが「PICと通信できません。PICに電気を入れていますか?」と言えばいいのです。
PICKit3から電気を供給できることを知らないユーザーに「電力不足だ」と言っても混乱するだけです。

私も昔、同様にケーブルを、取っ替えひっかえして書き込むことができました。でもそれは、
PICKit3に電源供給機能があることが原因であり、
USBケープルが細いとだめ、ハブを通すとだめ、ノートPCだとだめ、などの伝説が生まれます。
0029774ワット発電中さん
垢版 |
2017/09/23(土) 14:40:27.73ID:beI2TvXf
回路上にPICだけしかなく
PICkit3とPICの一騎打ちの状態でもこのエラーは出る
その場合外部電源をつないでもエラーは出る
経験が少ないくせにエラーメッセージそのままのオウム返しの回答してる人は
意味無いから黙った方がいい
あなたの回答で解決するなら誰も騒がない
0030774ワット発電中さん
垢版 |
2017/09/23(土) 14:57:32.56ID:5SBlo+G+
>>29
それ、俺も同意。
エラーメッセージの内容と目の前の回路の状態が合ってない場合があるのは
PICkit3使いなら周知の事実。
ハッキリ言うと>>ID:KO/+DQKwの線が正しく、>>ID:UmD4ojnAは見当違い。
だいたい>>26を読めばどういう人間かわかる。
こういう人間の言うことはだいたいあてにならない。
0031774ワット発電中さん
垢版 |
2017/09/23(土) 15:51:35.27ID:0wtaisdK
人格云々は別にして、
それが事実だとして、USBのケーブルを変えたら状態が変わったのはなんでなんだろね。

データ通信が不安定なのが解消されたのかな?
0033774ワット発電中さん
垢版 |
2017/09/23(土) 17:46:56.80ID:oLQMaGOJ
>>16の言う
>外付けHDD用の2股の電源強化USBケーブルを使ったらメッセージが消えた
がホントなら、PICkit3の基板から5Vのライン引きだして外部から5V補強するかなあ…。
0034774ワット発電中さん
垢版 |
2017/09/23(土) 17:55:33.24ID:KO/+DQKw
PICkit3の回路図眺めてた。
ターゲットPICのVddはPickit3の電源(=USB供給)以下の電圧しか出せないように見える。
一方、プログラミング電圧Vppは昇圧SWレギュレータが組まれている(当たり前)

大雑把にいうと、VddはUSB電圧をMOS+OpAmpで定電圧化し逆流防止のShotkeyを通ってVddに出る。
基準電圧はPICkit3のメインコントローラ(PIC24F3256)が出す。
このコントローラは6ピン出力コネクタ上のVdd電圧を読むパスを持っている。
と言うことで、5.0V出すにはUSBがそれ以上あることが前提っぽい。
実際には出力が5VピッタリでなくてもNGにならないだろうけど。USBの電圧低下には極めて脆弱。
PICkit3へのUSB電源供給電圧を上げれば良いけどHub使って5.5Vぐらい食わせちゃうとかかな。
#念のため、規格では最大5.25Vですよ。

USのフォーラムを見たら、このメッセージへの対処として、
PICへの供給電圧設定を4.7Vにしろと言う回答があった。(4.75ってことだろうけど)
まあ、多少マシにはなるか。

USB規格が500mA供給できるとか無関係だし、
USB規格は受電側が4.4Vで動くことを要求してるけどPICkit3は守ってないんじゃないか。
0035774ワット発電中さん
垢版 |
2017/09/23(土) 18:03:29.01ID:KO/+DQKw
>>33
それやるんなら、回路図ちゃんと読んだ方が良いよ。
USBの5Vラインは、入口直後にPNP TrでSwitchされてるので良く考えて繋いだりパタン切ったりしないとまずいと思うから。
0036774ワット発電中さん
垢版 |
2017/09/23(土) 18:10:55.75ID:7eBNpMQP
初心者なので助かりました。
本当にありがとうございました。
0038774ワット発電中さん
垢版 |
2017/10/07(土) 05:42:04.40ID:6SCmAYES
質問お願いします。

C言語で、メイン関数 mai() は、どのくらいの長さがいっは゜んてきなのでしょうか?
といか、どのように書くのがよいのでしょうか

main(){
  key_check();
  LCD_disp();
  IO?syori();
}

のように書くという人もいると思いますが、これでは簡潔すぎて、何をしているのかわかりません。
かといって

maij(){
  if( SW==1 ){
    count++
    if( count<500 ){
       LED=on;
    } else {
       if( SW2==1 ){
          LED=off;
       } else {
          LED=on;
       }
これでは細かすぎると思いますし。


    }
}
0040774ワット発電中さん
垢版 |
2017/10/07(土) 07:37:40.63ID:nWXpaxCJ
>>38
というか、上も下も1回やったら終わり。
形にこだわる前に動くプログラムをどんどん書く方が良いような気もする。

なんだかんだ言っても、関数に分けていくルールは所属組織に合わせることになる。
そのあたりも含めて記述のパターンの見やすさや感覚的な受け入れやすさは人によっても
同じ人でも時期によっても違う。

実際、上の記述について
>これでは簡潔すぎて、何をしているのかわかりません。
と考える人と
>簡潔で良い
と考える人がいる。

個人でなら。
自分だけで書いて使うプログラムなら、自分が理解しやすいのが一番。
100人のうち90人が良いと思う方法でも、あなたが残り10人のグループに入るような人なら、
90人の方法に合わせる必要もない。
0042774ワット発電中さん
垢版 |
2017/10/07(土) 10:57:32.31ID:iXRY0hqm
>>41
そういう話ではありません。
0043774ワット発電中さん
垢版 |
2017/10/07(土) 11:08:13.75ID:+HK+pGVc
mainの見た目より個々の関数の再利用性を重視したら?
今回専用の関数になってない?次回以降使いやすい関数になってる?
0044774ワット発電中さん
垢版 |
2017/10/07(土) 13:44:33.21ID:nWXpaxCJ
>>42
そういう話でないとしても、結論の出ないとりとめない話ではあるよな。
>>38がどういう立場と目的でこんな質問をしたのかがわかると話もしやすいはず。
0045774ワット発電中さん
垢版 |
2017/10/08(日) 05:16:43.90ID:k9jHk/DL
プログラムは宗教とは、よく言ったもんだ
0046774ワット発電中さん
垢版 |
2017/10/08(日) 06:50:45.81ID:eqbf2gm0
>>45
・絶対的な正解はない。
・でも傾倒している人は自分が傾倒しているものが唯一絶対だと考える。

ってところだと思うが、プログラムに限ったことでもなくて、
「〜は宗教」は色々な分野使われる、手垢のついた言い回しだよな。
0047774ワット発電中さん
垢版 |
2017/10/08(日) 07:24:24.78ID:X2exvBSK
実行速度を重視するか、メンテナンス性を重視か、サイズを重視か、
なんて所で適当に決るんじゃ無いか。
0048774ワット発電中さんへ
垢版 |
2017/10/11(水) 17:20:34.62ID:pm9gRnbS
買ってよかったをすべての人に。
どこよりも安くどこよりも良いものを。
開いたページの検索項目に商品名や品物の名前などを
入力して検索。価格の安い順、よく見られている順で検索可能。
お気に入りの商品が決まったら、ショップへ。数量(個数)を
選択し、カートに入れるを選択。ご注文手続きへを選択。
住所や支払い方法を選択。最後に確定を押すと、入力したメール
アドレスに商品を購入した証拠のメールが届いて完了。会社によって
佐川急便やヤマト運輸などの配送状況を確認できます。
買ってよかったを痛感して下さい。
「価格ドットコム」(価格.com)です。
http://kakaku.com/
お気に入りにまずは、追加して下さい。
0049774ワット発電中さん
垢版 |
2017/10/11(水) 19:58:26.87ID:/gF+tHFg
>>38
1行ごとに横にコメント入れて、何をしているのか説明してみるといい。
説明文だけを見て、全体の動きがすぐ把握できるならそれでいい。
何度も読み返さないといけないようなら、もっと簡潔にまとめる手段を
考えたほうが良い。
0050774ワット発電中さん
垢版 |
2017/10/13(金) 03:46:11.95ID:3EnK2Do1
>>49
標準的には、画面何ページ分くらいの長さが良いでしょうか?
0051774ワット発電中さん
垢版 |
2017/10/13(金) 07:39:42.10ID:5Pjnaklm
>>50
今は画面の文字の桁数、行数に主流といえるようなものがなくて、いろいろなので、そういう規範を設ける意味がない。
0052774ワット発電中さん
垢版 |
2017/10/15(日) 00:41:41.81ID:JIwuZIlW
>>50
80桁24行の画面で、2〜3ページだと先輩が言っていた。
コメントは勘定に入れない
0053774ワット発電中さん
垢版 |
2017/10/16(月) 22:13:26.35ID:R78OGla7
プログラムの中でコメントをアスタリスクで区切って
/**********************
 ・・・
 ・・・
***********************/
などと書く人もいますよね。
あるいはイコール記号やマイナス記号を使う人もいますが。
皆さんどんな書き方してますか?
参考にしたいので教えてください。
0054774ワット発電中さん
垢版 |
2017/10/17(火) 03:04:50.97ID:3fappW5b
僕の場合は、
// -----------------------------------------------------------------
//
//    ネギ振り制御プログラム Ver0.9
//
// -----------------------------------------------------------------
0055774ワット発電中さん
垢版 |
2017/10/17(火) 06:38:14.95ID:1AzpijuA
/*****************************/
 こ れ は ま ち が い
/*****************************/
0059774ワット発電中さん
垢版 |
2017/10/17(火) 11:38:26.49ID:Dg++H1Qi
//////////////////////////////////////////////////////
// スラッシュ押しっぱでいいからこうしてる
////////////////////////////////////////////////////// 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0060774ワット発電中さん
垢版 |
2017/10/17(火) 11:40:14.96ID:Dg++H1Qi
//////////////////////////////////////////////////////
// 右下の目玉はなんだ?
////////////////////////////////////////////////////// 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
0061774ワット発電中さん
垢版 |
2017/10/17(火) 13:00:28.52ID:sv6KYoxB
私は重要度、頻度、レベル(深さ)などによって自分なりの規則を決めて、
タイトルを =====、-----、***** などで2行で挟む、1行だけにして挟まない、
とかやってる。
0062774ワット発電中さん
垢版 |
2017/10/17(火) 15:07:03.39ID:vM5J7MaJ
>>61
それは やるね。
/* --------------
/* --------------
/*
/*
/* --------------
/* --------------
と、繰り返す人もいる
0063774ワット発電中さん
垢版 |
2017/10/17(火) 17:30:05.67ID:cN6yjO8O
>>56
これは、ソースのコメントアウトしたり、2つの方法を切り替えたり
するのには一番いい方法だと思う

意外に使ってない(知らない?)人が多くて
「ちょっと、この部分コメントアウトして見たら」って言うと
エディタで//しちゃって、後でどの範囲をコメントアウトしたか分からなく
なって困ってるの見たことがある

但し、本来のコメントに使うのはどうも
0064774ワット発電中さん
垢版 |
2017/10/17(火) 18:46:02.80ID:gbtKIql3
#if 0の話のついでに
#if 0って行頭に書くのが殆どだと思うけど
#if 0のネストの必要が発生した場合、中の#if 0インデントする?
最近の頭のいいIDEだと条件見て色分けしてくれるけど、
そうでもない場合も結構あり…
0066774ワット発電中さん
垢版 |
2017/10/17(火) 18:58:23.28ID:OHRD9I6l
>>65
この板でなくても良いかもしれないけれど、この板でも良いのではない?

スレに関係なくもない微量脱線が少しぐらい続くぐらい、
エログロインモラルヘイトみたいな激烈逸脱が1レス入るよりずっとマシだと思うんだ。
0068774ワット発電中さん
垢版 |
2017/10/18(水) 00:36:24.51ID:jjsEYLf4
gitでガンガン、クローン作るのが便利
0069774ワット発電中さん
垢版 |
2017/10/18(水) 01:22:48.23ID:kWJWosJM
>>67
よく分からないけど、各行の//の後に日付入れてるの?
それよか、#if 0 // date-time のほうがよくない?
#if 1 ってすれば簡単に元に戻せるし
0070774ワット発電中さん
垢版 |
2017/10/18(水) 02:17:19.43ID:3UuV+PeI
どこがどういいのかな?
#if 0
#endif
どう見ても煩雑じゃん。
0071774ワット発電中さん
垢版 |
2017/10/18(水) 18:40:36.52ID:zzaEvjgO
みなさんは関数名の後に続く中括弧の前に改行を入れますか?入れませんか?

例えば、
int main(void) {
  /* 処理 */
}
のようにするか、

int main(void)
{
  /* 処理 */
}
のように書くのか、どちらが多いのか気になります。
0072774ワット発電中さん
垢版 |
2017/10/18(水) 19:07:53.61ID:/c54TH7U
>>71
あのさー、どちらが多いのか気になるのはわかるけど、
僕は
main(){
}
0073774ワット発電中さん
垢版 |
2017/10/18(水) 20:51:30.55ID:gkvqw0ga
>>70
同意。
俺は全部//
そんなことに凝らなくてもいいと思う。

>>71
自分は上のように書いてきたけど、
最近良く使うMicrochipのCode Configuratorが吐くのは下の方だな。
混在してるけど、別に気にしないのでそのままだ。
0074774ワット発電中さん
垢版 |
2017/10/18(水) 20:55:44.87ID:/c54TH7U
>>73
でも、そっちの方は、行数が増えるばかりで、
いいと思えない。
0076774ワット発電中さん
垢版 |
2017/10/18(水) 21:03:51.16ID:QFWNMlP3
>>71 mbedで整形すると

int main(void)
{
  /* 処理 */
}   
   

 とされちまぅ
0077774ワット発電中さん
垢版 |
2017/10/18(水) 21:09:25.59ID:ZGHN60eX
>>70
10行コメントアウトする場合は#if 0の方が早い
1行なら//
行の1部なら /* */

臨機応変に色々と使えるようになっておいた方が良い
0078774ワット発電中さん
垢版 |
2017/10/18(水) 21:27:43.83ID:PNizgerx
>>77
/*
10行
*/

エディタがやってくれるだろ。
#if 0 はコメントじゃないし。
0080774ワット発電中さん
垢版 |
2017/10/18(水) 21:41:39.22ID:285rxyDU
>>77
単に人と変わったことやりたいだけだろw
何も奇をてらう必要ないんだよ、馬鹿馬鹿しい。

>>78
それな。
0081774ワット発電中さん
垢版 |
2017/10/18(水) 21:53:53.24ID:/9l1e8sY
>>77
これはコメントだと明示的に示すことが大切であり、誰にでもそれがコメントだと分かることが重要。
#if 0
#endif
は本来コメントではないから誤解の元となる。
臨機応変という無意味な四字熟語は何の免罪符にもならない。
008463
垢版 |
2017/10/19(木) 00:24:59.17ID:DIZIuNUq
なんか自分が書いたのにすごいレスがついてるようでw

>>63で書いてるけど、「本来のコメント」に "#if 0 〜 #endif" 使えってことじゃないです
だから、「#if 0をコメントに使うな」っていうレスはその通りだと同意するし、批判は見当違い

で、本来の趣旨は、一時的なソース(プログラム)の変更・切り替えには
// とか /* */ よりも "#if 0 #else #endif" のほうがいいんじゃない? って話なんだけど
0085774ワット発電中さん
垢版 |
2017/10/19(木) 00:57:32.02ID:DIZIuNUq
ついでに書くけど、一時的にソースの変更する場合、コメントアウトとか
じゃなくて、関数丸ごと書き換える方法もある
その場合、元の関数は削除せずに、関数名だけ書き換えて実質的に
呼び出されないようにしておく(fname → fname1)

新しく作るほうは、元の関数をコピペなりしてどんどん書き換えてやればいい
(fname1 → fname)してやれば最悪でも元に戻すことは簡単だから
大胆なこともできる

もっとも今は、ファームの世界でも(インチキ)ウォーターフォールモデル全盛で
一度コーディングしたソースをテストステージで思いつきでいじっちゃいかんだろうからこういうことは、派遣とかで行ってるんだと出来にくくなってるかも・・・だけど
0086774ワット発電中さん
垢版 |
2017/10/19(木) 01:40:31.80ID:AC5iuXLg
もういい。
誰も気にしてないし、誰も
#if 0
#endif
何て使わないし、誰もお前のチンケな小技語り聞きたくない。
0087774ワット発電中さん
垢版 |
2017/10/19(木) 06:55:46.79ID:IQEkJvPU
なぜレスに感情を刺激するようなトゲを潜ませる必要があるんだろうね。
0090774ワット発電中さん
垢版 |
2017/10/19(木) 22:34:38.79ID:Tu/9QGho
ケンチを評価するのはID:AC5iuXLgさまの思召し
0092774ワット発電中さん
垢版 |
2017/10/21(土) 00:53:17.58ID:eSXo+fHR
ある種のコンパイルスイッチのように使うなら、#if 0 は悪くないけど情報をもっと詰め込みたくなるな
0093774ワット発電中さん
垢版 |
2017/10/21(土) 01:51:01.22ID:gkyfK/sM
コンパイルスイッチに、#if(何たら式)使うとかは常識だよね
そんで、コンパイルオプション変更するまでもない一時的なスイッチに
#if 0 とか #if 0〜#else とか使うのも常識だと思ってたんだけど
違うのかな?
今は //厨が主流なの?

「コメントアウトした範囲明確でないと困らない?」と言う疑問にも
「憶えとけばいい」「//毎に日付書いとけばいい」ってこと?
世の中、頭のいい人ばっかりになって結構、結構
日本の将来も安泰ですねw
0095774ワット発電中さん
垢版 |
2017/10/21(土) 04:12:13.51ID:YMFR/k+O
コメントの話だったのが、いつの間にかコンパイルスイッチの話になってしまったでござる。
こうなるともう何でも言いたい放題でござる。
そして、とうとう日本の将来まで心配してしまうでござる。
0096774ワット発電中さん
垢版 |
2017/10/21(土) 08:13:57.63ID:qxpaxwE5
常識かどうかは、その人が暮らしているエリアで判断すれば良いのではないですか。
ずっと決まった人だけでプログラムを書いて製品づくりをしているグループ内で、
他の世間とちょっと違う記述ルールが存在する場合でも、その記述ルールもそのグループの中では常識ですし。

逆に言えば、自分が感じている常識なんて脆いものだと思っていてもいいぐらいで、
匿名掲示板のメリットは、常識の多様性を感じられることでもあります。
このコメントの方法が適切かどうかも、まとめきることは難しくて、
どこかで諦めたり引いたりして収拾しないと仕方がないものです。

>常識だと思ってたんだけど 違うのかな?
違うのかな?に対して同意する人は、あなたと同じ常識で暮らしている人、ってことに過ぎないんじゃないですかね。

それとも、一般論としての常識として押し通すような話なんでしょうか。
たとえば「常識とはこの世界の8割〜9割がそうしていること」と定義するのであれば、
ここで多数意見をまとめたところで、意味ないですよね。
0100774ワット発電中さん
垢版 |
2017/10/21(土) 13:43:23.92ID:SJ/D5Fk0
>>53は「コメント」についてたずねてるのに、
勝手に拡大解釈してまで#if 0〜#elseをブッ込んでくるヤツがひとりいる。
「世の中」とか「常識」とか「日本の将来」まで引っ張り出してきて…。
「子供たちの未来」とか「北朝鮮の脅威」を持ち出すのも時間の問題かと。
0101774ワット発電中さん
垢版 |
2017/10/21(土) 21:06:04.81ID:qxpaxwE5
まあ、排除に重きを置かなくても、違う発想があるんだって視点で見れば面白いんじゃないですかね。
俺は使ったことがなかったのですが、#if 0 もコメントアウトには便利に使えそうですし。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況