Office 系のアプリケーションで使える VBA マクロに関するノートです。通常の VB プログラミング(VB.NET じゃない方)に関するノートもちらほら。
4回目となる今回はC言語のソースコードを読んでいく上で欠かせない構造体を紹介する。マクロと同じく、これも知っておかないとC言語のソースコードは読めないと思う。 学校の授業や演習で習うC言語の勉強はその後の仕事に結びつかないことが多い。この原因の1つに、C言語に出てくる型やマクロ定義など、授業で習う以外のものが実際のC言語のコードにはたくさん使われているからではないかと思う。例えば、次のソースコードを見てほしい。これはkilo.cの850行目辺りのコードだが、授業でC言語に触れた程度だと、まずこの struct abufという構造体に面食らうはずだ。「なんだこれは、習っていないぞ」と。 void abFree(struct abuf *ab) { free(ab->b); } それもそのはずで、この構造体はKilo用に定義された構造体で、kilo.cの830行目辺りで次のように定義されている
第1回と第2回ではKiloのソースコードをざっと読んでその処理の流れを把握した。Kiloは基本的に、キーボードから1バイト入力があるまで待って、1バイト何か入力されるとその入力された文字やキーに合わせて処理をして、画面を全部更新する(1画面分出力する)、といった処理を繰り返していることを説明した。今回はソースコードを読む上で必須になってくるマクロを取り上げる。 Cのソースコードには、次のように、大文字で記述された変数のようなものが書いてあることがある。kilo.cなら次のような行が見つかる。STDIN_FILENOという部分に注目だ。 標準で定義されているマクロが使われているサンプル enableRawMode(STDIN_FILENO); C言語の授業や実習を受けたことがあるなら記憶にあるかもしれないが、これは標準出力のファイルディスクリプタを記述したものだ。実際には、unistd.hと
この記事は Vim Advent Calendar 2016 (その2) の3日目の記事です。 ノーマルモード以外をパイプとして使う際の情報を追記しました (2016/12/04) UNIXのテキスト処理 UNIXでテキストを自動整形する際、パイプ機能は欠かせない。 $ cat a.txt 1 hoge 2 piyo 3 fuga $ cat a.txt |sed 's/piyo/foo/' |grep '2' 2 foo シェル上で | というパイプ記号を使ってコマンドを次々繋げることで、複雑なテキスト処理をこなすわけだ。 パイプは便利だが、テキストエディタをパイプとして使う人はあまり見かけない。 テキストエディタ=対話的 という常識があるため、パイプのような自動処理とは相性が悪いと思われているのだろう。 しかし今日はあえて、シェルスクリプトやワンライナーの中にvimを埋め込み、パイプと
この記事は、『UNIX Magazine』2003年12月号(2003年11月18日発売)に掲載された同名記事の初稿(著者から編集部に提出したもの)を元に、Web掲載用に一部を修正したものです。10年以上前に執筆したものなので、現在のUNIXを取り巻く環境とは色々と異なることがありますが、プログラミングに対する心構えとしては現在でも通用するものと思い、再掲してみることにしました。 ・・・・・・・・・・ C言語では、コンパイルの前にプログラムの字句を置き換える機能— マクロ 機能 が利用できる。マクロは確かに便利なものではあるが、バグを招きやすいことも事実で、巷では功罪が論じられている。 C++言語にはまだマクロが残っているが、JAVA言語にはもはや存在しないことからもわかるように、マクロは本質的にはプログラムのアルゴリズム記述に必須の機能ではない。にもかかわらず、マクロを一切使用していない
Tera Term(テラターム)のマクロ機能+SSHプロトコルを用いた自動ログインマクロで、もっとも基本的な形のマクロをご紹介させて頂きます。 通常サーバにSSH接続するには、接続先ホストのIPアドレス・接続ユーザ名・パスワードなどの接続情報が必要ですよね。 今回ご紹介するのは、サーバ接続に必要な情報をマクロ言語TTLファイルに直接記述したバージョンのテラターム自動ログインマクロになります。(セキュリティ的にマズイとかいうのは、いいっこ無しでお願いします!) このマクロを実行する事により、ユーザ名・パスワード等の情報を入力する事無く、サーバに自動ログインする事が可能となります。管理する対象機器が少ない場合だと、機器毎にマクロファイルを作っておくと便利かもしれませんね。 *TTLファイルとは Tera Termのマクロ言語TTL(Tera Term Language)で作成されたファイルで、
Windows向けのターミナルエミュレータ「Tera Term」(テラターム)には強力なマクロ機能が搭載されており、これを利用することでネットワーク経由でマシンを自動操作したり、管理情報を取得する、といったことが可能だ。本記事ではいくつかのサンプルとともにTera Termマクロの基本的な使い方を紹介する。 Tera TermおよびTera Termマクロの基本 Tera Termのマクロ機能を紹介する前に、簡単にTera Termについて紹介をしておこう。Tera Termはオープンソースで開発されているWindows向けのターミナルエミュレータ(端末エミュレータ)だ。かつてはTelnetクライアントやCOMポート経由でのシリアル接続機能を備えた無償のターミナルエミュレータとして有名だったが、1998年にいったん開発が中断された後にオープンソース化され、現在ではSSHクライアント機能やC
Tera Term(テラターム)のマクロ機能を利用し、SSHプロトコル(パスワード認証) でサーバ等に自動ログイン+アルファ(パスワード暗号化)のテラタームマクロをご紹介します。 前回ご紹介したマクロでは、パスワードを手動で入力し自動ログインを行っていました。 ⇒ Tera Termマクロサンプル-SSH自動ログイン(パスワード入力版) しかし毎回パスワードを入力するのは面倒ですよね。 そこで一度パスワードを入力してログインしたものに関しては、パスワードを暗号化してファイルに保存&次回のログインからはパスワードを暗号化したファイルから読み込み、パスワード入力無しでログインが可能となるマクロをご紹介していきます。 一応パスワードファイルの中身の文字列は暗号化されていますが、パスワードファイルの取り扱いには充分注意してご利用ください。 SSH自動ログインマクロ(パスワードを暗号化して保存) ;
以前、Tera TermのSCP機能を利用し、手動操作でファイルの転送(送受信)を行う手順をご紹介させていただきました。覚えてらっしゃいますか? ⇒ Tera Term(SCP機能)を利用してのファイル転送(送信編) ⇒ Tera Term(SCP機能)を利用してのファイル転送(受信編) 簡単なファイルの送受信には、かなり便利な機能でしたよね。 ここでは、SCP機能を使い手動操作でファイルの送信を行うのではなく、Tera Termのマクロ機能を利用してファイルの送信を行いたいと思います。 接続先ホストに、ファイルを配布したりするのに使用すると便利なマクロかもしれませんね。 テラタームマクロを使ったSCPファイル転送(送信編) ;=========================================================== ; Filename : file-tran
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く