• ベストアンサー

ラベルのアドレスを知る方法は有りますか

 プログラムの大きさを測って表示するため、次のようなプログラムを実験しました。  しかしエラーになります。  L1,L2 のラベルの値を知る方法は有るのでしょうか。 void *SIZE ; L1:  測定したいプログラム L2: SIZE = L2 - L1 ;

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1622/5658)
回答No.1

ないです。 仮にあったとしても目的とするプログラム部分の大きさになるとも限りませんし。

ricardo_
質問者

お礼

 回答有難う御座います。  アセンブラなら出来ると思うのですが、C言語で可能なのかなと思いまして。  それからパソコンでは無くて、組み込みマイコンを使っています。

その他の回答 (4)

  • colder
  • ベストアンサー率43% (30/69)
回答No.5

GCCの拡張機能にあります。 void *lv1,*lv2; size_t size; L1:  測定したいプログラム L2: lv1 = &&L1; lv2 = &&L2; size = lv2-lv1;

ricardo_
質問者

補足

 回答有難う御座います。  自分のコンパイラで試すと lv1 = &&L1; の部分に次のエラーが出てしまいます。 C2500 (E) Illegal token "&&" lv1 = L1; とすると、 C2225 (E) Undeclared name "L1" と言うエラーになります。  アセンブラのラベルをC言語で呼び出したらどうかと思い、 次のようにしましたが、C2225 (E) Undeclared name "L3" と成り、同じでした。 #pragma asm .EXPORT L3 L3: #pragma endasm lv1 = L3;

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.4

>プログラムは一般に小さく速い方が良い。 当てはまる場合もあるし、当てはまらない場合もありますね。 速度向上のためであれば、サイズを見るのは、あまり意味がないと思います。 速度を上げたいのでしたら、 ・ コンパイル結果(アセンブラソース相当)を見る ・ プロファイラを使って、プログラムのどのあたりが実行回数が多いか見る ・ プログラムのどのあたりで時間がかかっているのかを調べるツールを使う まずは、速度向上方法について書かれた本を読むことから始めるのでしょうか(環境依存です)。

ricardo_
質問者

お礼

 回答有難うございます。  速度だけではなく、C言語で出来る事と出来ない事の研究の意味も有ります。

回答No.3

大部分のコンパイラではアセンブリリストを出力できますからアセンブリリストでアドレスを求めるよりありません。

ricardo_
質問者

お礼

 回答有難う御座います。  普通のC言語の本には載っていない事の可能性を色々と試しています。

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

無理ですが、何のために、 >プログラムの大きさを測って表示するため、 をしたいと思ったのかを書くと、別の解決策があるかも。

ricardo_
質問者

補足

 早速の回答有難う御座います。  プログラムは一般に小さく速い方が良い。  速度を測る部分は作ったので、速度とサイズを表示しようと思ったのです。

関連するQ&A

  • ラベルの大きさを変えるには

    VB初心者です。 VB2005express editionを使っています。 電卓を作ろうと思い表示画面にラベルを使おうとしたのですが、 ラベルの大きさが画面上でドラッグしてもプロパティのサイズの値を入力しても変えることができません。 テキストボックスも同じようになります。 ボタンは任意の大きさにできます。 これは何が悪いのでしょうか? ラベルは任意の大きさにできないのでしょうか?

  • サーモラベル

    1000度とも言われる熱源から距離5m、高さ1mくらいのところにある熱温度をサーモラベルで測定したいのですが、何度かも予想でも分かりません。 Q1:0~1000度の測定範囲のサーモラベルってご存知ですか? Q2:こんな測定では温度は大雑把な、適当な値になりますか? Q3:大体、何度になるか計算で分かりますか?300度とか。 ご教授願いたく。

  • accessフォーム、ラベル表示にて増減方法の質問です。

    accessフォーム、ラベル表示にて増減方法の質問です。 accessの初心者ですので、稚拙な文章になるかと思いますがご了承下さい。 現在Access2003にてフォームを作成しております。 対象となる画面は前画面より値を引き継いだ値の数を元にラベル数を作成し表示しようとしています。 そのラベル表示数は0~500と幅があります。 ラベル表示するためのコードにはどのような方法あるのでしょうか? 宜しくお願いします。

  • VBA 上位3位までの値をラベルに表示するには

    いつもお世話になっております。 初心者ですが、宜しくお願いします。 ご教授願いたいのは、上位3位までと、下記3位までの値を抽出し、 それぞれをユーザーフォーム上のラベルへ表示したいのです。 (例 ( sheet1 )   A   1 20   2 15  3 40  4 25  5 30  6 60  7 55      ↓ ↓ ユーザーフォームには ラベル1 ~ ラベル6まであります。 上記のA列の中から上位3位までを抽出し、ラベル1~ラベル3へ表示。 ラベル4~ラベル6に下位3件の値を抽出、表示させたいのです。 現在は手動でLARGE関数、SMALL関数で一度sheet2に書き出した後、 そのセルの値を表示するようにしていますが、 値も日々動的に増えていきますので、 別シートを使わず直接プログラムできればと思います。 素人のためうまく説明できませんが、 どうぞ皆様のお知恵をお貸しください。 宜しくお願いいたします。

  • Excel2010 ラベルの表示非表示方法

    Excel2010 セルの値によって、コントロールラベルを表示非表示にしたいですが、 初心者のため、検索してもよくわからないため教えてください。 例:A1 にリストを置き、ラベルAを選択すればラベルAが表示される ラベルBを選択すればラベルAが非表示になる、ラベルBが表示される。 お願いいたします。   

  • エクセルのデータラベル

    エクセル2000で地区別成績表のグラフを作っています。 縦軸に担当名、横軸に1~12月としています。 グラフを作った後で困ったことに、データラベルの表示される月とそうでない月があり、あとから データ系列の書式設定>データラベルの表示にチェック を入れてすべて表示させました。 次にフォントをそれぞれ、思ったサイズに変更しなければなりません。 データラベルの書式設定>フォント>変更指定してOK です。 一つの表に12か月分、しかも同じ形で10個ほどのグラフを触らなければなりません~(>_<。) 何とかもう少しこの手間を省く方法はないでしょうか。 是非一発でデータラベルの表示+フォント操作をできる方法があれば教えて下さい。 お願いします。

  • fromのラベルの値を別に用意した関数で使いたい

    from1のラベルに値を入れたものを 別に用意した関数で使いたいのですが方法はありますか? 今 from1.ラベル.text と関数に表示しているのですが from1の初期値しか取れません、現在表示されているラベルの値を とるにはどうしたらいいでしょうか?

  • 手書きラベルのサイズ確認方法

    みなさま。こんばんは。 手書きラベルを通販で購入したいと思います。 手書きラベルの用途は、衣装ケースなどに貼るためです。衣装ケースの中身が一目瞭然と分かるよう、名前を記載します。 市販のラベルは、サイズが若干小さいのです。大きめサイズの物がなくて探しております。 1枚のシールサイズは、20cm×10cm前後がいいです。 ですが、通販でサイズを確認する方法がわかりません。枚数は多くてかまいません。 4面とか6面とかと表示されているようですが、これだと1枚のシールのサイズが把握できません。 どうやって確認すればいいのでしょうか。 皆様。よろしくお願いいたします。 追伸  どこのメーカーがいいか、これも教えていただければと思います。

  • Delphi ラベルの点滅方法

    Delphiの初心者です。 フォームを作成し、その中にラベルを表示させています。  そこで、フォーム内にあるラベルを点滅させるようにしたいのですが、 どのようにすればよいのか、まったく検討がつきません。 ラベルを点滅させるようにプログラムを作成することはできますか? ちなみに、フォームは点滅させたくありません。

  • Excel2007 グラフ・データラベルの編集

    Excel2007で円グラフを作成しました ところがデータラベルの表示がまちまちなのですが 思うように編集できません このデータラベルの編集方法について教えていただけませんか 1.ラベルサイズをドラッグで変更できませんか 2.例えば ”65歳以上70歳未満”という項目のとき”上”と”7”の間で改行したいのですが 3.数値が34.1%と34%の2段表示になっているのを34.1%だけの表示にしたい 4.数値の表示を小数点1ケタで統一したい(データ系列のところにポインタを持ってくると値が48.4%(48%)と表示されるのはどういう意味でしょう) 以上 種々疑問だらけです ファイルを添付しますのでどうぞよろしくお願いします

専門家に質問してみよう