2016年9月25日日曜日

C言語のブロックの値

とある本を読んでいて、C言語でブロックの値を変数に代入することができることを知った。

たとえば、以下のようなプログラム。

#include <stdio.h>
int main(void)
{
    int i = 0;
    i = ({
        int j = 1;
        j + 1;
    });
    printf("i = %d\n", i);
    return 0;
}

実行結果は以下のとおり。
$ gcc t.c
$ ./a.out
i = 2

少しプログラムを変えて、ブロックの最後が変数への代入文だったらどうなるか。

#include <stdio.h>
int main(void)
{
    int i = 0;
    i = ({
        int j = 1, k; /* modified */
        k = j + 1;    /* modified */
    });
    printf("i = %d\n", i);
    return 0;
}
実行結果は最初のプログラムと同一。
$ gcc t.c
$ ./a.out
i = 2
今まで気にしたことがなかったが、ブロックの値は最後の式の値になるということか。
今度調べてみることにしよう。

2016年7月2日土曜日

Windows7でポート転送

IPv4でローカルホストの80を別のホストの80に転送

追加
netsh interface portproxy add v4tov4 listenport=80 listenaddress=127.0.0.1 connectport=80 connectaddress=xxx.xxx.xxx.xxx

設定一覧表示
netsh interface portproxy show v4tov4

削除
netsh interface portproxy delete v4tov4 listenport=80 listenaddress=127.0.0.1


参考サイト
http://windyakin.hateblo.jp/entry/2014/10/10/163733

2016年2月7日日曜日

gitのpushに失敗する

これまで特に問題がなかったが、突然以下のエラーが出てコミットできない。

fatal: The remote end hung up unexpectedly

サーバ側のログを見るとPOSTリクエストは届いている。
pushするサイズが10MB近くあるのでその辺りが関係してそう。

http://shinriyo.hateblo.jp/entry/2015/05/07/git%E3%81%A7%E3%81%AE_fatal%3A_The_remote_end_hung_up_unexpectedly

より、

$ git config http.postBuffer 524288000

とすることで解決。


2016年1月30日土曜日

Windows8.1インストール済みソフトウェアメモ

★書きかけです

Windows8.1とは折り合えないことを確信したため、Windows7に戻すことに決定。

インストール済みのソフトウェアのメモ


  • CDex

http://sourceforge.jp/projects/cdexos/

  • MakeMKV

http://www.makemkv.com/

  • DVD Fab9

http://ja.dvdfab.cn/download.htm
Exact Audio Copy
MinGW
DeepBurner



    CDBurnerXP

    fedora22のnginxのパッケージ再作成

    ★書きかけです

    準備
    $ sudo dnf install -y git wget
    $ sudo dnf install -y @development-tools fedora-packager rpmdevtools


    $ git clone http://pkgs.fedoraproject.org/git/nginx.git
    $ cd nginx
    $ git checkout remotes/origin/f22


    参考サイト
    https://fedoraproject.org/wiki/Packaging/Guidelines/ja
    https://fedoraproject.org/wiki/How_to_create_an_RPM_package#Building_the_binary_package

    http://blog.tnmt.info/2011/04/29/rpmbuild-for-beginner/
    http://blog.tnmt.info/2010/03/10/rpm-build-tips-yum-builddep/

    Linuxカーネルモジュール関連コマンド

    モジュールのリスト
    lsmod

    モジュールを読み込む
    modprobe