c++のコードを自動生成する
- Author: vottie
- Category: コンピュータ
- Tags: github, shell script
c++のコードを自動生成するシェルスクリプト。
使い方の例は以下。
まず、~/binとかにcodegen.shを置いて
$ ./codegen.sh person sample Person
とすると、personディレクトリができる。中身を見てみると、
$ ls person main.cpp Makefile Person.cpp Person.h
Personクラスとmain()があるmain.cppとMakefileが出来上がり。
これでmakeするとmainって実行可能プログラムが出来る。
あとはPersonクラスにsay()だのeat()だのを追加していくですかね。
仕事でサンプルプログラムを書くのに、なんでもmainに突っ込んで確認するのもしょっぱいので、こんなもん作ってみた。
Share this:
Related posts
pythonその4 環境周りとdjangoインストール
ファイルの先頭行に何を書くのか? 直接実行したい時は以下を書くと良い。 #!/usr/bin/env python 具体的には直接実行しないクラスを書いたファイルには不要。 デフォルトエンコーディングは書いておいた方が良さそう。 # -*- coding: utf-8 -*- rubyでのrbenvみたいなのは? わたしゃさくらのvpsにubuntu 14.04.02 LTSを入れて学習中。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=14.04 DISTRIB_CODENAME=trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS" なのですが、既に以下の状態。ここから実行環境の切り替えとかできるんだろうか… $ find /usr/bin -name "python*" | xargs ls -l lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python -> python2.7 lrwxrwxrwx 1 root root 9 Dec 21 2013 /usr/bin/python2 -> python2.7 -rwxr-xr-x 1 root root 3345416 Jun 23 03:51 /usr/bin/python2.7 lrwxrwxrwx 1 root root 9 Mar 23 2014 /usr/bin/python3 -> python3.4 -rwxr-xr-x 2 root root 4061272 Jun 20 00:35 /usr/bin/python3.4 -rwxr-xr-x 2 root root 4061272 Jun 20 00:35 /usr/bin/python3.4m lrwxrwxrwx 1 root root 10 Mar 23 2014 /usr/bin/python3m -> python3.4m rubyのrbenvみたいなのは、direnvかpyenvらしい。virtualenvはその前みたい。誰かその辺の歴史みたいなのとかまとめてくれんかな。direnvはpythonもrubyもまとめて面倒みまっせ的なものみたいだけど、既にrbenvは導入済だし、今回はpyenvでやってみることにする。他の人のやり方を見つつ、以前にrbenv入れたのをhistoryで推測しながら以下を実行した。 % cd /opt % sudo git clone git://github.com/yyuu/pyenv.git pyenv % sudo groupadd pyenv % sudo gpasswd -a ユーザ名 pyenv % sudo chgrp -R pyenv pyenv % sudo chmod -R g+rwxXs /opt/pyenv % sudo mkdir /opt/pyenv/shims % sudo mkdir /opt/pyenv/versions % sudo chmod -R g+rwxXs /opt/pyenv/shims % sudo chmod -R g+rwxXs /opt/pyenv/versions % echo ‘export PYENV_ROOT="/opt/pyenv"’ >> .zshrc % echo ‘if [ -d "${PYENV_ROOT}" ]; then’ >> .zshrc % echo ‘ export PATH=${PYENV_ROOT}/bin:$PATH’ >> .zshrc % echo ‘ eval "$(pyenv init -)"’ >> .zshrc % echo ‘fi’ >> ~/.zshrc % source ~/.zshrc なお、参考にさせていただいたのは以下でございます m(. .)m Ubuntu 12.04でpyenvを利用して速攻でPython3.4 + Nginx + uWSGI + FlaskなWebアプリケーション実行環境を作る (Qiita) Ubuntuにpyenvを用いてpythn環境を構築しました。(たくのこWeb) /usr/binにインストールされているpythonは置いといて、version 3.4.3をインストール。インストール前にdjangoとversionの整合性は確認した。インストールにはそこそこ時間かかる。何やらWARNINGが出てるが、気にしないったら気にしない。 % pyenv install 3.4.3 Downloading Python-3.4.3.tgz… -> https://yyuu.github.io/pythons/4281ff86778db65892c05151d5de738d […]
Share this:
php-fpmではまりました
nextcloudの保守をして新しいプラグインを入れた後、なぜかphpが動かなくなりました。ブラウザ上だと504でtimeout。よくよく見てるとnginxのfast-cgiとして参照しているファイルが微妙に違いました。いじった覚えはないんですが、なぜこうったのか・・・ ログ
Share this:
pythonその6 django入門
ルーティングがうまく行かないなーと思って、和訳を眺めてたら衝撃の事実が… 自分の間違い:mysite/polls/urls.py を新規作成 正しくは:mysite/mysite/urls.py 既存ファイルにルール追加。 と思いきや1.4と1.8だとurls.pyの置き場が違うみたい。重要そうなファイルなので、公式ドキュメントの間違いなんじゃないか?と思い試行錯誤した結果、ようやくでけた。polls/urls.pyは新規作成で、mysite/urls.pyは修正。両方必要みたい。公式もよーく読むとそう書いてあった。ルーティング定義をしてるのに404 not foundで、定義したルールとエラーしたルールが違う時点で気づける人は気づけるんだろう。 railsと比較すると自分で書いてる分、コントロールできている気がすると思うし、どうせできてるといってもscaffoldだと実際には使えないしなーと思う反面、いちいち書くの面倒くさいなーとも思ったり。また、がちゃがちゃやってる間にいろんなエラーに出会った。 ImportError : from x import yの誤り SyntaxError : 括弧の数が合わない IndentationError : インデントが合わない NoReverseMatch : “XXXX is not a registered namespace”と詳細で出てる。どうもチュートリアルにあるnamespaceの指定が余計っぽい。 AttributeError : module’ object has no attribute ‘XXXX’ タイプミスを指摘された。 この辺のデバッグは慣れが必要だな… チュートリアルの4ではそれまでとガラっとviewの書き方が変わる。今回はローカルのgitにこまめにコミットしながらやってたので、ビクビクせずに学習できたが、classベースのviewに変えたら、最新5件をとってきてindexに表示するところが動かなくなったので、後で調べる。たぶん。 2015/08/29追記 classベースのviewでindex表示ができない原因はtypoだった。contextと書くはずが、conextになっていた。
Share this:
Trackbacks and Pingbacks on this post
No trackbacks.
- TrackBack URL
Comments on this post