読者です 読者をやめる 読者になる 読者になる

mikan's technical note

仕事&趣味で実験した小技の備忘録です(Linux,windows,DOS等)

MENU

【C言語】printfで実行した行番号を出力する

C言語
//
// 【printfで実行した行番号を出力する】※Solaris,RedHutで動作確認済
// (c) 2017 mikan
// ※使用にあたっては利用者の自己責任でお願いします。
//
#include <stdio.h>
#include <stdarg.h>
#include <errno.h>

// printfマクロ
#define DBGPRI(fmt, ...) debug_printf(__FILE__, __func__, __LINE__, fmt, ##__VA_ARGS__)

// printf関数
void debug_printf(const char *file, const char *func, const int line, const char *fmt, ...)
{
    printf("%s,%s(),%d,%d:", file, func, line, errno);

    va_list ap;
    va_start(ap, fmt);
    vfprintf(stdout, fmt, ap);
    va_end(ap);

    printf("\n");
}

int main()
{
  DBGPRI("start");              // Sun C 5.8 ... compile Warning, gcc ... compile OK
  DBGPRI("start %s", "");       // compile OK
  DBGPRI("start %s", "test");   // compile OK

  return 0;
}

【実行結果】
dbgpri.c,main(),23,0:start
dbgpri.c,main(),24,0:start
dbgpri.c,main(),25,0:start test

【ubuntu16.04LTS】ubuntuインストール直後にやったこと一覧

ubuntu

※<参考>Ubuntu Weekly Recipe 第327回 aptコマンドを使ってみよう
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0327

※<参考>Debian 管理者ハンドブック
https://debian-handbook.info/browse/ja-JP/stable/index.html
第 6 章 メンテナンスと更新、APT ツール
https://debian-handbook.info/browse/ja-JP/stable/apt.html

[アップデート]

sudo apt-get update
sudo apt-get upgrade

[ssh-server インストール]

sudo apt-get install openssh-server

[Mozc インストール]

$sudo apt-get install ibus-mozc
sudo ibus-daemon -drx

入力メソッドタブで、Mozcが一番上にくるように設定
※私はMozc以外を左下「−」ボタンで削除した
f:id:myerss555:20170220013706p:plain
全体の設定タブで、入力メソッドのオンオフが「Zenkakuhankaku」になってなければ設定を変更する
f:id:myerss555:20170220013717p:plain
Mozc辞書ツールで辞書を追加
f:id:myerss555:20170220013728p:plain
ATOK用の辞書をそのまま使用可能(MS-IME用も可)
f:id:myerss555:20170220013741p:plain

[日本語ディレクトリ名を英語に変更]
ディレクトリ名が日本語だとCUIでなにかと不便なので

sudo apt-get install ibus-mozc

f:id:myerss555:20170220024757p:plain

[GDebiパッケージインストーラ インストール]

sudo apt-get install gdebi

[chrome インストール] ※ubuntu 64bit版の場合
公式サイトから、chromeをダウンロードして、

gdebi google-chrome-stable_current_amd64.deb

[chrome インストール] ※ubuntu 32bit版の場合

sudo apt-get install chromium-browser

[firefox アンインストール]

sudo apt-get remove firefox

[amazon アンインストール]

sudo apt-get remove unity-webapps-common

[クラシックメニュー インストール]

sudo add-apt-repository ppa:sicklylife/ppa
sudo apt-get install classicmenu-indicator

f:id:myerss555:20170220024827j:plain

[ブータブルUSB作成 インストール]

sudo apt-get install unetbootin

[ImageMagick インストール]

sudo apt-get imagemagick

[Xfce インストール]

sudo apt-get install xfce4

[LXDE インストール]

sudo apt-get install lxde

【Geekbench インストール
公式サイトから、Geekbench4をダウンロードする
http://geekbench.com/download/
ダウンロードした「Geekbench-4.0.4-Linux.tar.gz」を解凍 ※インストール作業は不要
起動方法

cd ~/Downloads/build.pulse/dist/Geekbench-4.0.4-Linux
./geekbench4

f:id:myerss555:20170220031840p:plain
ベンチマーク結果は、表示されたurlをブラウザで開くことで確認できる
f:id:myerss555:20170220032321p:plain

[JD インストール]

sudo apt-get install jd

[JD接続用perl インストール]

sudo apt-get install git perl libhttp-daemon-perl libhttp-daemon-perl
git clone https://github.com/yama-natuki/2chproxy.pl.git

2chproxy.plの、「PROXY=」を書き換える

vi ~/apl/2ch/2chproxy.pl
----- ⇣ 2chproxy.pl の中身 -----
#!/bin/bash
# last updated : 2015/03/16 01:20:30 JST
#
# 2chproxy.pl を起動してからJDを起動する。
#

# 2chproxy.plの場所をフルpathで書く。
PROXY="/home/hiro/apl/2ch/2chproxy.pl/2chproxy.pl"
# JDの場所
JD="/usr/bin/jd"
.
.
.
----- ↑ -----------------------

[ランチャへの追加(標準JDからの変更)] ※Unity(ubuntu標準)の場合

sudo cp -p /usr/share/applications/jd.desktop /usr/share/applications/jd.desktop.org

jd.desktopを書き換える
※本来であれば、~/.local/share/applications に .desktopを置くべきだが
 どうしてもうまく動かなかったので、/usr/share/applications 配下を直接更新した

vi /usr/share/applications/jd.desktop
----- ⇣ jd.desktop の中身 -----
[Desktop Entry]
Exec=/home/hiro/apl/2ch/2chproxy.pl/jd.sh
Icon=/home/hiro/apl/2ch/2chproxy.pl/jd.xpm
Terminal=false
Type=Application
Name=JD 2ch browser whith 2chproxy.pl
Name[ja]=2ch ブラウザ JD whith 2chproxy.pl
Comment=JD is a 2ch browser based on gtkmm2.
Comment[ja]=gtkmm2 を利用した 2ch ブラウザ
Categories=Network;
Keywords=2ch
Keywords[ja]=2ちゃんねる
----- ↑ -----------------------

既存のアイコンが置き換わった
f:id:myerss555:20170220024856j:plain

[ランチャへの追加] ※Xfceの場合
パネルを右クリック、パネル、新しいアイテムの追加、「ランチャー」を選択して、「追加」ボタン、「閉じる」ボタン
パネルに追加されたアイコンを右クリック、プロパティ、一般タブで「新しいアイテムを作成」ボタン、
コマンド欄に、上で更新した「jd.sh」をフルパスで設定、他は任意で設定し、「作成」ボタン
f:id:myerss555:20170220020809p:plain
画面下のランチャに追加された
f:id:myerss555:20170220015805j:plain

JDを起動し、メニュー、設定、about:config 高度な設定で以下のように設定
板一覧を取得するサーバ=http://kita.jikkyo.org/cbm/cbm.cgi/20.p0.m0.op.sc/-all/bbsmenu.html
2chのクッキー:HAPを保存する=はい
2chのクッキー:HAP=__cfduid=d;yuki=akari
BBSPINKのクッキー:HAP=__cfduid=d;yuki=akari
板一覧内にあるリンクを全て板とみなす=はい
f:id:myerss555:20170220021049p:plain
f:id:myerss555:20170220021104p:plain
JDを再起動して、メニュー、ファイル、板一覧取得
f:id:myerss555:20170220021836p:plain

[ゲストログイン禁止]

sudo vi /usr/share/lightdm/lightdm.conf.d/50-no-guest.conf
----- ⇣ .50-no-guest.conf の中身 -----
[SeatDefaults]
allow-guest=false
----- ↑ -----------------------------

[viのtab設定を4にする]

vi ~/.vimrc
----- ⇣ .vimrc の中身 -----
set tabstop=4
----- ↑ ------------------

[ATOM インストール]
公式サイトから、ATOMをダウンロードして、
https://atom.io/

gdebi atom-amd64.deb

[ATOM 日本語化]
メニュー、File、Preferences
f:id:myerss555:20170220015830p:plain
Settingsタブで、Install、右上の入力欄に、「japanese」と入力して「Packages」で検索
f:id:myerss555:20170220015839p:plain
「japanese-menu」、「japanese-wrap」をInstall
f:id:myerss555:20170220015853p:plain
日本語に切り替わった
f:id:myerss555:20170220015900p:plain

[無線LANの設定]
※内蔵/USBタイプ含め、無線LANアダプタが認識しない場合

sudo apt-get install firmware-b43-installer
sudo apt-get install wpasupplicant wireless-tools

PC再起動

【ubuntu14.04LTS】FMV-BIBLO MG70H(Pentium M)にubuntuをインストール】

ubuntu

【まずは結論から】
CPU: Pentium M 1.6GHz
Memory: 1GB
ベンチマークの値は低いものの、驚くほど普通に使える。
動画も普通に再生可能。
f:id:myerss555:20170219163656p:plain

【発端】
当時憧れだった「Pentium M」搭載ノートPC。
買い替えでもう必要ないというので、これならubuntuで十分使えるかも!
とありがたく頂いたものの、何故かインストールに失敗するので泣く泣く諦めていた。
※インストール時に「PAEに対応してないからダメよ」みたいなメッセージが出て瞬殺

使い道がないまま長いこと眠っていたのでいよいよ廃棄処分かなと思っていたが、
webでubuntuの記事をあさっていたら、「Pentium M」にインストールする方法が!!
起動時に「forcepae」オプションを追加してPAEチェックを無理やり通すんだとか。

【手順】
1.「ubuntu14.04LTS」のISOイメージをダウンロード
ここから、旧バージョンの「ubuntu14.04LTS」をダウンロード
http://old-releases.ubuntu.com/releases/
私は、32bit版の「ubuntu-14.04-desktop-i386.iso」を選択。
※64bit版にしとけばよかったかなとあとで後悔。でも再インストールする気力なし(^^;

2.USB起動メモリを作成
UNetbootinでダウンロードしたISOをUSBメモリへ展開。
f:id:myerss555:20170219003950p:plain

3.インストール
USB起動メモリをPCに挿して、PCの電源を入れると、起動メニューが表示される。
※事前にBIOS設定でUSBブート出来る状態にしておくこと
f:id:myerss555:20170219150454j:plain

「Default」の位置でTABキーを押す。
※「Install Ubuntu」のほうが良かったかも
f:id:myerss555:20170219150520j:plain

オプションが表示されるので、最後に「forcepae」を追加してEnterキー。
※写真では間違って「persistent」オプション消しちゃいましたが消さなくても大丈夫
f:id:myerss555:20170219151458j:plain

ubuntuが起動するので、デスクトップの「Install Ubuntu 14.04 LTS」アイコンでインストール開始。
f:id:myerss555:20170219151557j:plain

あとは画面の指示に従って進めば完了!


【おまけ】
[日本語環境 インストール]
ここの手順通りに。
https://www.ubuntulinux.jp/japanese

※ubuntu14.04LTSの手順

wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/trusty.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

メニュー、「System Settings」、「Languege Support」。
「The Language support is not installed completely」と表示されたら、「install」をクリック。
「Language」タブの「日本語」をドラッグして一番上に移動させる。
「Apply System-Wide」をクリック。

sudo apt-get install ubuntu-defaults-ja

[日本語ディレクトリ名を英語に変更]

LANG=C xdg-user-dirs-gtk-update 

[無線LAN]
無線LANが認識しなかったので、以下のインストールとPC再起動で繋がった

sudo apt-get install firmware-b43-installer
sudo apt-get install wpasupplicant wireless-tools

[デスクトップ環境の追加]
標準のデスクトップ環境「Unity」が重いので、「Xfce」、「LXDE」をインストール

sudo apt-get install Xfce
sudo apt-get install lxde

f:id:myerss555:20170219163123p:plain
f:id:myerss555:20170219163136p:plain