2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

プログラマーに質問いい?

1 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:55:24.478 ID:RH8yv1ya0.net
環境変数ってなに?

2 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:56:06.741 ID:7w85U2hm0.net
パスをきる場所

3 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:56:13.307 ID:VKGkoPC/0.net
Environment Variable

4 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:56:47.706 ID:0dWZm3bp0.net
環境に変化をもたらす度合いを数値化したもの

5 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:59:35.122 ID:RH8yv1ya0.net
>>2
もっとわかりやすく

6 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:59:39.507 ID:FilQBQ0A0.net
環境の変数だよ

7 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:59:41.756 ID:RH8yv1ya0.net
>>3
どういうことだよ

8 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 18:59:51.045 ID:RH8yv1ya0.net
>>4
わけわからん

9 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:00:02.733 ID:RH8yv1ya0.net
>>6
????詳しく頼むよ

10 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:07:14.629 ID:V+n9uXUD0.net
OSまたはユーザーレベルで使える変数

11 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:13:49.359 ID:FilQBQ0A0.net
>>9
例えば、生まれた環境、つまり家庭が裕福かとか国とか愛情が足りてるかとかでどんな人間になるかはだいたい決まるじゃん?
それと同時に生まれつき才能というか、器質的な優勢さもあるけど、それはその後の努力とかで覆せるものであって、環境変数とは全然関係ないんだよね。

12 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:22:41.516 ID:Gvxrbi4K0.net
>>1プログラムってわかるか? アプリとか、あーいうの。
最近だとダブルクリックとか、或いはスタートメニューから選んで実行するアレ。

プログラムを実行する時、例えば表示する位置を特定の位置にしたいとか、
言語を英語表示にしたいとか英語にしたいとか、色々と設定したいことがある。
そういう設定をする仕組みの一つに、環境変数というのがある。
ぶっちゃけ設定ファイルの一種だと思っていても今後の人生で困ることは無い。

本来なら設定ファイルで充分なんだが、環境変数は設定ファイルよりも自由度が
高いしちょっと使うには色々と楽なので、未だに残っている。
似たような用途で『コマンドライン引数』ってのもあるが、コマンドライン引数は
起動する毎に与えなきゃならないので、設定ファイルとはちょっと違う。

13 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:32:08.908 ID:RH8yv1ya0.net
>>12
例えばハローワールドを表示させるだけのcでかいたプログラムにはどんな環境変数があるの?

14 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:32:16.615 ID:RH8yv1ya0.net
>>10
わけわからねえ

15 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:39:39.148 ID:zTMyuWJO0.net
まず変数が何かわかる?

16 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:43:23.170 ID:lkHiDLa30.net
確かに直訳で分かりにくいよな。
プログラムが動く仕組みとかも絡むんで説明がめんどくさい。

Windowsならコマンドプロンプト開いてSETって打ち込んでEnter押して表示されるのが環境変数だ。
こいつらはプログラムから参照したり設定したりすることが出来る。

17 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:56:40.489 ID:RH8yv1ya0.net
>>15
わかる

18 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:57:20.741 ID:RH8yv1ya0.net
>>16
なんのために参照するの?例えば
ハローワールドをguiで表示するのに何を参照してる?

19 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 19:59:35.248 ID:oTVxl0F30.net
パチョコンの場所とかプログラムやライブラリの場所もあるよ

20 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:01:01.361 ID:3G8k6VTC0.net
プログラムの動作に必要な情報をあらかじめ格納しておく変数
PCの環境によって変わる情報を

21 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:01:03.058 ID:RH8yv1ya0.net
>>19
なるほど
ハローワールドでいえば
プリント関数のヘッターファイル?かdllファイルがあんの?

22 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:01:42.720 ID:RH8yv1ya0.net
>>20
プリント関数でいえば?

23 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:03:04.850 ID:Gvxrbi4K0.net
>>13そのハローワールドで環境変数を見て何かしていれば、それがそう。
でも多分、ハローワールドでは環境変数を見ていない。

24 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:04:40.987 ID:RH8yv1ya0.net
>>23
見ていない??そんなことあんの??
環境変数はどんなプログラムにも設定してあるんじゃないの?

25 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:08:28.726 ID:Gvxrbi4K0.net
>>24普通はプログラムを起動したプログラムが設定するけど、
それをどう利用するかは受け取ったプログラムの自由。
大体常識的にこれはこう使うってのがあるんだけど、無視することも違う目的で
使うことも受け取ったプログラムの自由。

26 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:09:31.283 ID:m22eFbLk0.net
ロケール設定なんかもあるんやない?(´・ω・`)

27 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:12:45.414 ID:RH8yv1ya0.net
>>25
環境変数は実行してるプログラムのなかのスタックにあるってことでいい?
例えば俺がcで何かしらコードを書いてシグウィンでコンパイル(広義)してコードを実行したら
それはどこが環境変数を定義してるの?

28 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:14:15.869 ID:RH8yv1ya0.net
>>26
へー言語とかを決めてる設定ファイルがある場所って感じ?

29 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:17:24.480 ID:m22eFbLk0.net
>>28
ファイルシステム の場合ファイルに様々な設定が書かれてるんやない?(´・ω・`)
だから 読み取った後の 環境変数もあるんやない?(´・ω・`)

30 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:19:09.705 ID:RH8yv1ya0.net
>>29
なんでそれが変数なの?
ごめんバカで

31 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:20:33.992 ID:m22eFbLk0.net
あと変数についてしらべるなら スコープ とかでもぐぐってみたら?(´・ω・`)

32 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:24:37.000 ID:RH8yv1ya0.net
Wikipedia読まず嫌いしてたけどめっちゃ詳しくかいてあった

33 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:25:24.142 ID:Gvxrbi4K0.net
>>27厳密には違うが、大体その認識で困らない。
起動する前にスタックに積んでおいてくれく感じ。

>>28日本だと年月日の順、ダメリカだと月日年の順、とかが決まっていて、
その中のどれを使うか、とかを環境変数で渡すことが出来る。他にも小数点が
ピリオドじゃなくてコンマの国とかもある。
これは日付や小数点を文字列へ変換するライブラリーが参照する。ハローワールドでは
日付とかを使っていないので、この環境変数を参照していない。

>>30プログラムが変わるんじゃなくて、値だけが変わるから変数。

34 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:25:27.409 ID:m22eFbLk0.net
>>30
そもそも変数にデータ格納する利点って データを利用しやすいからやないの?(´・ω・`)

設定ファイルをその都度読み込んでたら HDDの速度ネックで呼ぶ出すたびに速度遅延が大きくなる(´・ω・`)n

35 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:25:58.798 ID:P3GVjp300.net
誰もまともに説明できてなくて呆れる。
1はまだいるか?

36 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:28:40.218 ID:m22eFbLk0.net
OSもプログラムで動いてる(´・ω・`)

OSにタスク機能の実装とかして あと共通データなんかはアドレス決めてOSから読み出して利用しやすいようにしておけば

OSの実行速度が上がる(´・ω・`)

37 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:29:27.547 ID:SEvsKSord.net
>>35
いるよなー
こういうプロ気取りの奴(笑)
みんなネタスレだと思って適当に答えてるだけなのに寒い奴( ̄▽ ̄;)

38 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:32:22.938 ID:P3GVjp300.net
>>37
え?これまでのレスのどこに笑う要素があるんだ?

39 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:33:05.246 ID:b65SNWuX0.net
ID:Gvxrbi4K0
みたいなのはいちばんたちわるい

40 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:33:36.248 ID:Gvxrbi4K0.net
寒かろうが気取っていようが>>1が理解して納得してくれるなら何でも良いよ。
嘲笑うのは、説明したのに>>1が「さっぱりわからん」と言ってからでいい。

41 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:39:00.405 ID:m22eFbLk0.net
OSもプログラムで動いてる そして 変数もたくさんあつかってる(´・ω・`)

すべてのアクセスをソフトに認めるとソフト側が勝手に書き換えて安全動作できなくなるから

OSが変数へのアクセスできる範囲なんかも決めてる(´・ω・`)n

42 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:42:17.910 ID:Gvxrbi4K0.net
>>38全員wikipediaに負けたところじゃね?

43 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:42:33.172 ID:m22eFbLk0.net
セキュリティ上の対策で パーミッション なんていう権限をもったOSもある(´・ω・`)

44 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:43:23.475 ID:RH8yv1ya0.net
まている

45 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:43:43.579 ID:RH8yv1ya0.net
シャワー浴びてたすまん
レス読むわこれから

46 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:49:32.091 ID:RH8yv1ya0.net
レスやらWikiやら見てまとめると
プログラムは(既存のものや新規の)環境変数を持っている
環境変数には使用する言語やらが格納されている
ってことでいい?

47 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:51:18.796 ID:m22eFbLk0.net
>>46
OSの実装形態って覚えておけばええ(´・ω・`)

48 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:54:31.388 ID:RH8yv1ya0.net
>>47
それはosが出力をどう解釈するかって話?

49 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:56:04.399 ID:m22eFbLk0.net
>>48
その変数はOSが仕切ってるって覚えておけばええんやないか?(´・ω・`)

50 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:57:51.028 ID:SEvsKSord.net
ID:P3GVjp300
まぁいいからさっさと説明してみろよ?

51 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:59:34.756 ID:Gvxrbi4K0.net
>>46大雑把にはそれで良い。喪舞自身がプログラムを作る場合や、
喪舞がコマンドラインからプログラムを使うのでなければ、
それ以上のことを知らなくても困りはしない。
そして、必要になってから改めて学んでも少しも困らない。

52 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 20:59:50.478 ID:RH8yv1ya0.net
うーんわかるようなわからんような
>>35
前にたてたスレでこんな感じの人がマジの有識者だったな

53 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:02:47.400 ID:RH8yv1ya0.net
>>51
困らないのは分かるけど
きっちりその辺説明できないと教授から愛の鞭くらう

54 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:04:54.451 ID:m22eFbLk0.net
>>53
エミュレータ 使ってOS組んでみたら?(´・ω・`)

55 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:06:19.472 ID:RH8yv1ya0.net
>>54
osをくむ???

56 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:12:02.115 ID:Gvxrbi4K0.net
>>53教科書読み直せよwwww
講義で出て来たのか・・・だとすると>>46は、
>プログラムは(既存のものや新規の)環境変数を持っている
<プログラムは起動する時にOSから環境変数を渡される
かな。環境変数は(OSによって異なるが)大抵は、
LANG=ja_JP
と言う感じで変数名と内容(文字列)とがイコールでつながった形の文字列が、
配列の形で複数渡される。そのプログラムを起動する時に、起動する側が
「この環境変数を渡してね」と指定する。或いは「自分に渡されたのと同じのを
そのまま渡してね」とか「何も指定しないのでデフォルトを渡してね」とかもある。

57 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:14:02.019 ID:Gvxrbi4K0.net
途中送信しちまった。>>56の続き。
プログラムを起動する側が指定した環境変数を使って、OSが実際にプログラムを
起動することになる。

58 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:18:13.705 ID:RH8yv1ya0.net
>>57
ありがとう…
ちなみに講義も教科書もないけど知ってて当たり前みたいなかんじ

59 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:21:36.484 ID:SEvsKSord.net
ID:P3GVjp300
完全に逃げててわろた

60 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:25:28.266 ID:Gvxrbi4K0.net
>>58情報学科か何か?
もしかしてプログラムやれって言われてハローワールドやらされたところ?
だとしたら、ハローワールドの main(int argc, char *argv[], char *env[]) の
最後の env ってのに環境変数が入っているんだが・・・

61 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:28:34.192 ID:RH8yv1ya0.net
>>60
詳しくはいえんけど情報系!

62 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:30:59.950 ID:Ww10kDrFa.net
珍しく真っ当なムスレ

63 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:38:02.139 ID:Gvxrbi4K0.net
>>61コンパイルには cygwin を使っているらしいが、ハローワールド以外にも
プログラムは組めるのか? 具体的には if とか while とかが使えるかとか、配列が
わかるかとかを訊いているんだが・・・

cygwin で言うと、Windows が cygwin のシェルを起動する時に環境変数を渡す。
cygwin のシェルがハローワールドを起動する時に、cygwin のシェルが Windows に
この環境変数を渡せって指示する。Windows はそれを受け取って、ハローワールドを
起動する時に渡す。ハローワールドは環境変数を見ていない。
希望するなら、ハローワールドの代わりに環境変数を全部表示するプログラムを作れば、
色々と試せると思うぞ。

64 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:43:50.480 ID:RH8yv1ya0.net
>>63
一応分かる
わかりやすいありがとう

65 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:45:45.641 ID:RH8yv1ya0.net
先生みたいだ

66 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:47:34.764 ID:Mrl+UGdK0.net
Windowsで環境変数みてあらカタ予想つかね?

67 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:56:29.206 ID:Gvxrbi4K0.net
>>64なら、>>60で書いたように env が環境変数の配列だ。最後には NULL が
入っているから、NULL になるまで while で回せば、printf で表示出来る。
OSの種類(Windows_NT)とかユーザー名とかも入っているから、想像以上に
沢山あると思う。
例えばOSの種類が重要になるプログラムだと、これで種類を調べて動作を変えたり
出来る。

68 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 21:59:13.097 ID:RH8yv1ya0.net
>>67
ありがとうございます
めちゃくちゃ勉強がはかどります

69 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 22:06:03.365 ID:SEvsKSord.net
ID:P3GVjp300さんの解答マダー

70 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 22:11:35.110 ID:wcgSmy70M.net
マジレスしてる奴多すぎ
VIPやめろ

71 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 22:40:49.593 ID:SEvsKSord.net
ID:P3GVjp300さんのマジレスみたかったなー

72 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 22:47:45.865 ID:GWCvXD9d0.net
>>70
VIPという環境が変わってきたんで数(`-ω-´)

73 :以下、?ちゃんねるからVIPがお送りします:2020/09/13(日) 23:45:49.493 ID:Gvxrbi4K0.net
>>71これでも嫁
http://hissi.org/read.php/news4vip/20200913/UDNHVmpwMzAw.html

総レス数 73
21 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★