opera:config
#Auto Dropdown
不勾选此选项即可;
2. 增加快速拨号个数
修改profile下的speeddial.ini文件,在末尾增加:
[Size]
Rows=4
Columns=4
Rows和Columns个数根据自己需要填写;
柿子、西红柿
含有较多的果胶、单宁酸,上述物质与胃酸发生化学反应生成难以溶解的凝胶块,易形成胃结石。空腹吃柿子,大量的柿胶酚和红鞣质收敛剂与胃酸凝结成硬块,形成"柿石"。容易引起恶心、呕吐、胃溃疡,甚至胃穿孔等。柿子在饭后吃就不易形成"柿石"。
香蕉
香蕉中有较多的镁元素,镁是影响心脏功能的敏感元素,对心血管产生抑制作用。空腹吃香蕉会使人体中的镁骤然升高而破坏人体血液中的镁钙平衡,对心血管产生抑制作用,不利于身体健康。
山楂、橘子
含有大量的有机酸、果酸、山楂酸、枸橼酸等,空腹食用,会使胃酸猛增,对胃黏膜造成不良刺激,使胃发胀满、泛酸,若在空腹时食用会增强饥饿感并加重原有的胃痛。
牛奶、豆浆
这两种食物中含有大量的蛋白质,空腹饮用,蛋白质将"被迫"转化为热能消耗掉,起不到营养滋补作用。最好的饮用方式是与含面粉的食品同食,或餐后两小时再喝,或睡前喝均可,既有滋补保健、促进消化作用,又有排气通便作用。
糖
糖是一种极易消化吸收的食品,空腹吃糖太多会使血液中的血糖突然增高,人体短时间内不能分泌足够的胰岛素来维持血糖的正常值,使血液中的血糖骤然升高容易导致眼疾。而且糖属酸性食品,空腹吃糖还会破坏机体内的酸碱平衡和各种微生物的平衡,对健康不利。
白薯
白薯中含有单宁和胶质,如果空腹吃,会刺激胃壁分泌更多胃酸,引起烧心等不适感。
冷饮
空腹时大量吃各种冷冻食品,会刺激胃肠发生挛缩,久之将导致各种酶促化学反应失调,诱发肠胃疾病。也会导致内脏器官功能受到损伤。女性月经期间还会使月经发生紊乱。
酒
空腹饮酒容易刺激胃黏膜,引起胃炎和胃溃疡等多种病变。人体会很容易出现低血糖,进而头晕、出冷汗、心悸,严重者导致低血糖昏迷甚至死亡。
大蒜
大蒜含有辛辣的蒜素,空腹吃蒜,会对胃黏膜、肠壁造成刺激,引起胃痉挛,影响胃肠消化功能。
茶
空腹饮茶会稀释胃液,降低消化功能,还会引起"茶醉",表现为心慌、头晕、四肢无力、胃肠不适、腹中饥饿等。
黑枣
黑枣含有大量果胶和鞣酸,这些成分与胃酸结合,同样会在胃内结成硬块。
维生素
维生素虽然不是食物,不过,如果在空腹时吃,会在人体还来不及吸收利用之前即从粪便中排出。如维生素A等脂溶性维生素,溶于脂肪中才能被胃肠黏膜吸收,应宜饭后吃用,才能够较完全地被人体吸收。,
菠萝
富含强酵素的菠萝,空腹吃会伤胃,其营养成分,最好在吃完饭后食用,才能更好地被吸收。
挂机…………
信息科技时代来临,计算机使用的普及,不少长期在计算机前工作的朋友常常会觉得眼睛干涩、视力模糊,这其实很可能就是干眼症的早期表现。提醒各位,对这种状况不可掉以轻心。
根据美国全国职业保健与安全研究所的调查显示,每天在计算机前工作3小时以上的人之中,有90%的人眼睛有问题,表现症状是:眼睛干涩、头痛、烦躁、疲劳、注意力难以集中等,这种计算机视力综合症就是典型的干眼症。日本眼科医学会的调查结果也显示,每3名长期面对计算机屏幕的工作人员中,就有1名患有干眼症。因此,在计算机前工作的人需要特别注意保护眼睛。
诺贝尔眼科医师 张朝凯表示泪液主要有三大功能:一是湿润眼球;二是保持眼球的洁净;三是与眼屈光有关。如果泪液分泌太少或者蒸发过多,角膜表面和结膜表面得不到足够的滋润,看东西时,就会出现视物不清、眼睛酸涩等状况。而眨眼是一种保护性的神经反射作用,使泪水均匀地涂在角膜和结膜表面,以保持其润湿。正常人每分钟眨眼约为1020次,倘若长时间凝视计算机屏幕,眨眼次数常减少至每分钟45次,眼睛便会感到干涩。
防治干眼症,最重要还是让眼睛充分获得休息。若是无法避免与计算机为伍,我建议计算机屏幕上显示的亮度应为周围光线的3倍左右,屏幕的上端稍微低于视线10~15度,眼睛与计算机屏幕距离要保持在30cm以上;在计算机前每工作1个小时,就应该闭目休息10分钟,并用手按摩放松眼部周围的肌肉,或者眺望远处的景物等;此外,也可使用一些人工泪液来滋润眼睛,或刻意增加眨眼的次数,在饮食方面,可多吃富含维生素A的食物,例如胡萝卜和动物肝脏等。
别漠视干眼症,往往一开始只是感到眼睛干燥和酸涩,眼睛尚处于功能性损伤的阶段,但是如果这时还不注意保护眼睛,持续让你的眼睛长期处于干燥的状态,则可能引起角膜上皮细胞的脱落,造成器质性的损伤,当症状进一步恶化,则可能严重影响视力。最后还是要再次叮咛你,注意生活饮食规律正常,避免熬夜,才是眼睛保健根本之道。
我能想到的解法
1.调compiler参数,vc++和gcc都有-o可以调,可以optimize for speed,是最懒的方式。
2.善用多核心:
/*
(C) OOMusou 2008 http://oomusou.cnblogs.com
Filename : parallel_for_100.c
Compiler : Visual C++ 8.0
Description : Demo how to parallel sum 0 to 100
Release : 03/14/2008 1.0
*/
#include <stdio.h>
#include "omp.h"
int main() {
int i;
int s = 0;
printf("Number of core : %d\n", omp_get_num_procs());
printf("Number of threads : %d\n", omp_get_num_threads());
#pragma omp parallel for
for(i = 0; i <= 100; ++i) {
printf("thread %d : %d\n", omp_get_thread_num(), s = s + i);
}
printf("%d\n", s);
}
行结果
mber of core : 2
mber of threads : 1
read 0 : 0
read 1 : 51
read 0 : 52
read 0 : 106
read 1 : 104
read 0 : 109
read 1 : 162
read 0 : 166
read 1 : 220
read 0 : 225
read 1 : 280
read 0 : 286
read 1 : 342
read 0 : 349
read 1 : 406
read 0 : 414
read 1 : 472
read 0 : 481
read 1 : 540
read 0 : 550
read 1 : 610
read 0 : 621
read 1 : 682
read 0 : 694
read 1 : 756
read 0 : 769
read 1 : 832
read 0 : 846
read 1 : 910
read 0 : 925
read 1 : 990
read 0 : 1006
read 1 : 1072
read 0 : 1089
read 1 : 1156
read 0 : 1174
read 1 : 1242
read 0 : 1261
read 1 : 1330
read 0 : 1350
read 1 : 1420
read 0 : 1441
read 1 : 1512
read 0 : 1534
read 1 : 1606
read 0 : 1629
read 1 : 1702
read 0 : 1726
read 1 : 1800
read 0 : 1825
read 1 : 1900
read 0 : 1926
read 1 : 2002
read 0 : 2029
read 1 : 2106
read 0 : 2134
read 1 : 2212
read 0 : 2241
read 1 : 2320
read 0 : 2350
read 1 : 2430
read 0 : 2461
read 1 : 2542
read 0 : 2574
read 1 : 2656
read 0 : 2689
read 1 : 2772
read 0 : 2806
read 1 : 2890
read 0 : 2925
read 1 : 3010
read 0 : 3046
read 1 : 3132
read 0 : 3169
read 1 : 3256
read 0 : 3294
read 1 : 3382
read 0 : 3421
read 1 : 3510
read 0 : 3550
read 1 : 3640
read 0 : 3681
read 1 : 3772
read 0 : 3814
read 1 : 3906
read 0 : 3949
read 1 : 4042
read 0 : 4086
read 1 : 4180
read 0 : 4225
read 1 : 4320
read 0 : 4366
read 1 : 4462
read 0 : 4509
read 1 : 4606
read 0 : 4654
read 1 : 4752
read 0 : 4801
read 1 : 4900
read 0 : 4950
read 1 : 5050
50
以上结果可以发现,thread 0由0开始跑,thread 1由51开始跑,但之后就随机分配到两个核心,所以充分利用两个核心来运算。
inline assembly:我asm忘了差不多了, 一时也写不出来XD
改用unsigned int,而不用int,这种写法经我测试可以快一倍速度,主要是int须动用到有号数运算,速度较慢,详细原理请参考(原创) 无号数及有号数的乘加运算电路设计 (初级) (IC Design) (Verilog) (Linux)
/*
(C) OOMusou 2007 http://oomusou.cnblogs.com
Filename : for_loop_original.c
Compiler : Visual C++ 8.0
Description : Demo how to optimize for loop
Release : 01/05/2008 1.0
*/
#include <stdio.h>
int foo(int n) {
unsigned int i, s = 0;
for(i = 0; i <= n; i++)
s = s + i;
return s;
}
int main() {
int s;
s = foo(100000000000);
printf("%d\n", s);
}
使用Loop unwinding,请参考Wiki Loop unwinding
/*
(C) OOMusou 2007 http://oomusou.cnblogs.com
Filename : for_loop_unwiding.c
Compiler : Visual C++ 8.0
Description : Demo how to optimize for loop
Release : 01/11/2008 1.0
*/
#include <stdio.h>
int foo(int n) {
unsigned int i, s = 0;
for(i = 1; i <= n; i+=10) {
s += i;
s += i+1;
s += i+2;
s += i+3;
s += i+4;
s += i+5;
s += i+6;
s += i+7;
s += i+8;
s += i+9;
}
return s;
}
int main() {
int s;
s = foo(100);
printf("%d\n", s);
}
使用C++的Template Meta Programming方式,由于这是一种在compile time的运算,而不是在run time计算,所以在run time速度很快。
/*
(C) OOMusou 2007 http://oomusou.cnblogs.com
Filename : for_loop_tmp_cpp.cpp
Compiler : Visual C++ 8.0
Description : Demo how to optimize for loop by TMP
Release : 01/05/2008 1.0
*/
#include <iostream>
using namespace std;
template <unsigned n>
struct foo {
enum { value = n + foo<n-1>::value };
};
template<>
struct foo<0> {
enum { value = 0 };
};
int main() {
cout << foo<100>::value << endl;
}
C++的template类似C的macro,是否可用c来达成呢?我试着用以下的C,但无法compile成功,主要是C并不支持recursive macro,所以无福消受。
1#include <stdio.h>
2#define foo(x) ((x)?((x)+foo(x-1)):(0))
3
4int main() {
5 int s = foo(100);
6 printf("%d\n", s);
7}
7.使用硬件加速编译器;


灵活的外设和硬件算法的实现,这些都是Nios II的优点。不过若以研究来说,Nios II远比ARM有趣,因为软件硬件的功力都需要有,一旦上瘾就很难自拔。