草体にぼ日記

だらだらと

3月30日 日記と技術的な話

2020年3月30日

今日はちょっと技術的な話も書いています。
[c++コンパイルと実行を同時にできるようにした話][#c++コンパイルと実行を同時にできるようにした話] (ページ内リンクで下まで飛ばそうとしたんだけどうまくいかん。えーん)(今は治し方わからないのでそのまま放っておきます)

健康管理

4時寝9時おき?かな。 椅子を買いに行ったから許して。
精神状態は+-0 何もしてないしこんなもん。
っていうかこの部分いつも夜に書いてるので反省します。

まえがき

特筆スべきことはありま…す。
あ〜でもこれ人間関係だからやめとくか。

今日はね、要で急な予定があったので椅子を買いに行ってきました。
高級な椅子(20万ぐらい)ですよ。すごいでしょ。
ところで日本人、危機意識なさすぎない?人々外を出歩きすぎでしょ…

c++はなんで早いの?

っていうツイートを今日しました

コンパイラにも種類があるらしいっすよ。JITコンパイラとAOTコンパイラがあって、AOTの方が早い。

なるほどね(うん…) こういうのってどこで勉強するんだろう
どうやら応用情報技術者とか基本情報技術者の勉強中に知ったらしい

今日解いた問題

CODE FESTIVAL 2015 予選 A
[最適化,最小化]
公式解説PDF
公式のスライド解説って見やすくていいですよね。 - とりあえず全部を写すことにする - このとき、T分以内にならない場合は-1を出力する(どうやっても間に合わない) - 宿題 i について「写す」から「自力でやる」にしたときに時間が何分増えるかに着目する - a[i] - b[i] 分 増える。
- a[i] - b[i] が小さいものを自力でやる - これを T 分以内である間だけ繰り返す

c++コンパイルと実行を同時にできるようにした話

(ちょっとページ内リンクという物を使ってみた)

前置き(動機)

まず、普段からc++のコードを実行するときに

g++ filename.cpp 
./a.out

とやるのがめんどくさかった。
そこで、

go filename

これで実行できるようにしました

参考にしたサイト

二人の方の記事を参考にしながらやってみました。

お気持ちメモ

このお二人さんの記事の内容を繰り返すことに特に意味はないので、僕のお気持ちをメモしておきます
とりあえず、一つ目の参考サイトで ./go1.sh hello のところまでは出来た. (hello.cppと言うファイルのコードを実行するためのコマンド)
1. .shという拡張子でシェルスクリプトを作れるらしい。このファイル名がコマンドになるらしい。 (go1.shというファイル名で作ったのでgo1.shというコマンドを作ったことになる)

その後、オプションをつけるとかは必要なかっったので,go hello だけで実行出来るようにしようとしたところ、

cp go1.sh ~/bin/go

とするところでエラーが出た。分からんになった。
2. そういえばaliasというものがあるな。 僕は以前、フォロワーの方に ./a.out を a と打つだけで出来るようにならないんですか?
というのを聞いて、教えてもらっていました。(alias a=./a.outとすれば良いらしい)
しかし、この方法だけだと毎端Terminalを開くたびにこれを書かないと行けない。 そこで,aliasの保存方法を知る必要がありました。

そこで参考にしたのが2つめのサイトです。 3. aliasの保存は.bashrcに記述すればいい ~/.bashrcを開いて、いつもやっているように alias hoge='huga'を記述すればいい!かんたんですね。
シングルクオーテーションマークで囲む必要があることに気をつけなきゃいけないですね。
今回は alias go='./go1.sh'を記述しました

そして、今気づいたのですが、 aliasの設定をするまでもなくて、.shのファイル名をgoにすればよかったのではないか。と思っています。
(あはは)

markdownについて

今まで、ページ内リンクなんかやっていなかったのですが、ページ内リンクをやるの面白いですね。
そして、markdownを学ぶなら人の記事をマークダウン形式で表示させるのが有効であることに気が付きました。

にゃ〜ん

以下は毎回記事に貼っているテンプレート

基本的に読書はTwitterで絡みのある人だけだと思いますが、僕のブログだけ見てるって人もいるかもしれないので、一応自己紹介っぽいことをしている記事を貼っておきます - 瑞々しぃにぼしの自己紹介(自己紹介の記事です)