秒未満のsleep関数の使い方と効果

ユーザプログラムを所定時間sleepさせてポーリングする

nanosleepを使ってみる。

 

 

ソースコード

#include <stdio.h>
#include <time.h>

#define MICROSEC (1000)
int main(int argc, char *argb[])
{
    struct timespec req = {0, 10 * MICROSEC};
    while(1){
        nanosleep(&req, NULL);
    }
}

 

参考URL: 

www.c-lang.net

 

結果確認

 

sleepさせている区間はユーザーCPU消費はされない。

vmstat とかtopコマンドで確認する。

 

cc, gcc, g++の定義済みマクロを表示する方法

Predefined macro(定義済みマクロ)をダンプする方法です。

 

$gcc -dM -E - < /dev/null

 最後の - は、オプション終わりの意味(たぶん)

入力ファイルはないから/dev/nullと言うことで。

結構役に立ちます。

いまX86Linux向けと組み込みARMのLinuxで同じソースコードを書いていて、プラットフォームに依存するところを#ifdefしたいので、__x86_64__ と __arm__で使い分けている。

 

参考サイト:https://qiita.com/koara-local/items/b6848c24b33e7b819038

 

 

atomエディタを使ってます。proxy超えのパッケージの入れ方とか【備忘録】


Ubuntu16.04でATOMを使っています。

remote-FTPというパッケージを入れたいのですが、proxyが邪魔して入れられない。そこでWEBを探して、その方法を探しだし無事入れたのですが、それも随分前のこと。

やり方を忘れてしまいました。

 

とりあえず、その時巡回して役に立ちそうだと思ったURLを貼っておきます。

また必要になったら、これらをめぐってもう一度やってみます。その時までの備忘録。

 

(This way!!)

$ apm config set http-proxy http://(proxy-addr):(proxy-port)
$ apm config set https-proxy http://(proxy-addr):(proxy-port)
$ apm config set strict-ssl false

 

qiita.com

 

qiita.com

 

qiita.com

qiita.com

qiita.com

 

qiita.com

 

qiita.com


けっこういっぱいありますねえ、どれを見たんだろう・・・。Qiitaばっかりだし(笑)

とりあえず参考にさせていただいたサイト様たちありがとうございます。

 

 

C #pragma optimizer

stackoverflow.com

#pragma GCC optimizer ("O3")

void func(void)

{

...

}

 

#pragma optimizer("", off)

alpha()

{

...

}

#pragma optimizer("", on)

omega()

{

...

}

 

最適化の制限のサポート

http://wwweic.eri.u-tokyo.ac.jp/computer/manual/altix/compile/CC/Intel_Cdoc100/main_cls/mergedProjects/optaps_cls/ccp/optaps_dir_opt_prags_c.htm

 

http://www2.kobe-u.ac.jp/~lerl2/l_cc_p_10.1.008/doc/main_cls/mergedProjects/cref_cls/common/cppref_pragma_optimization_level.htm