佳音的博客

2016/03/23

mac bind

Filed under: Uncategorized — 佳音 @ 11:18 下午
 http://stackoverflow.com/questions/19538118/osx-mavericks-bind-no-longer-installed-how-to-get-local-dns-server-working

android 模拟器设置dns

Filed under: Uncategorized — 佳音 @ 11:02 下午

http://blog.csdn.net/as_314159265/article/details/6956306

第一步:用系统的命令进入Android开发包的tools目录

cd X:\…\android-sdk-windows\tool

第二布:使用adb的shell,确认系统的各项属性

adb shell

getprop

getprop会列出系统当前的各项属性

第三步:得到模拟器的DNS地址

在结果里可以看到:

[net.dns1]: [10.0.2.3]
[net.dns2]: [10.0.2.4]
[net.dns3]: [10.0.2.5]
[net.dns4]: [10.0.2.6]

第四步:把dns改成我们自己的DNS

setprop net.dns1 192.168.1.1

2016/03/09

build ios with jenkins

Filed under: Uncategorized — 佳音 @ 1:15 下午

jenkins xcode 插件

打adhoc包的时候并且由widght的时候 注意
这几个环境变量
PROVISIONING_PROFILE=”xxxx” APP_PROFILE=”xxxx” EXTENSION_PROFILE=”xxxx”

2016/03/08

build androd on centos 64bit

Filed under: Uncategorized — 佳音 @ 11:15 下午

android sdk i386支持

sudo yum install glibc.i686
sudo yum install libstdc++.i686
sudo yum install ncurses-libs.i686
sudo yum install zlib.i686

android update sdk –no-ui –filter support-v4
更新制定sdk
tools/android update sdk –no-ui
更新sdk
echo y | ./tools/android update sdk –no-ui –all –filter “extra-android-support”
更新 android support

2016/03/04

mysql innodb copy

Filed under: Uncategorized — 佳音 @ 3:27 下午

https://avdeo.com/2015/02/19/moving-innodb-table-between-servers/

2011/12/07

获取正在运行 进程的函数栈

Filed under: Uncategorized — 佳音 @ 7:31 下午

1、gdb -p pid 当前进程会挂起
2、pstack -p pid or gstack -p pid
3、gcore [-o filename] pid 然后用gdb调试。

gcc march参数 cpu相关

Filed under: Uncategorized — 佳音 @ 7:11 下午
  1.  
  2. CPU     Family  Rec. system gcc Rec. ports compiler
  3. Intel Atom D525 atom    CPUTYPE=core2 (*)       gcc45 -march=atom
  4. Intel Xeon 3065 core2   CPUTYPE=core2 (*)       gcc45
  5. Intel Xeon E5310        core2   CPUTYPE=core2 (*)       gcc45 -march=core2
  6. Intel Xeon E5405        core2   no CPUTYPE      gcc45 -march=core2
  7. Intel Core i7-920       nehalem CPUTYPE=nocona  gcc45 -march=nocona
  8. Intel Xeon X3450        nehalem CPUTYPE=nocona  gcc45 -march=nocona
  9. Intel Xeon E5620        nehalem CPUTYPE=nocona  gcc45 -march=nocona
  10. AMD Opteron 6128        barcelona       CPUTYPE=opteron-ssse3   gcc45 -march=barcelona
  11.  

http://blog.vx.sk/archives/25-FreeBSD-Compiler-Benchmark-gcc-base-vs-gcc-ports-vs-clang.html

2011/07/31

关于curl multi的bug

Filed under: Uncategorized — 佳音 @ 9:22 上午

http://curl.haxx.se/mail/lib-2010-06/0030.html

http://sourceforge.net/tracker/index.php?func=detail&aid=2501457&group_id=976&atid=100976

2011/02/15

The TIME-WAIT state in TCP and Its Effect on Busy Servers

Filed under: Uncategorized — 佳音 @ 6:20 下午

The TIME-WAIT state in TCP and Its Effect on Busy Servers from  http://www.isi.edu/touch/pubs/infocomm99/infocomm99-web/

2010/10/15

自增运算php & c

Filed under: c语言学习,php,Uncategorized — 佳音 @ 4:18 下午

以前面试的时候老有人问  ++i 和 i++ 的问题, 每每心里都在暗暗想…,
1、这俩东西功能不一样。

2、 写代码的时候多放些注意力在别的地方比在这个地方纠结强。
我总认为, 可读性和扩展性好的代码  比 一堆 又烂又快的代码好。

3、不免俗的研究了一下。

对于C

  1. #include "stdio.h"
  2.  
  3. int main(int argc, char *argv[]) {
  4.     int i = 0;
  5.  
  6.     int a = 0;
  7.     int b = 0;
  8.  
  9.     a = i++;
  10.     b=  ++i;
  11.  
  12.     i++;
  13.     ++i;
  14.  
  15.     printf("%d",a);
  16.     printf("%d",b);
  17. }

汇编后

  1.         .file   "test.c"
  2.         .section        .rodata
  3. .LC0:
  4.         .string "%d"
  5.         .text
  6. .globl main
  7.         .type   main, @function
  8. main:
  9.         pushl   %ebp
  10.         movl    %esp, %ebp
  11.         andl    $-16, %esp
  12.         subl    $32, %esp
  13.         movl    $0, 28(%esp)
  14.         movl    $0, 24(%esp)
  15.         movl    $0, 20(%esp)
  16.         movl    28(%esp), %eax
  17.         movl    %eax, 24(%esp)
  18.         addl    $1, 28(%esp)
  19.         addl    $1, 28(%esp)
  20.         movl    28(%esp), %eax
  21.         movl    %eax, 20(%esp)
  22.         addl    $1, 28(%esp)
  23.         addl    $1, 28(%esp)
  24.         movl    $.LC0, %eax
  25.         movl    24(%esp), %edx
  26.         movl    %edx, 4(%esp)
  27.         movl    %eax, (%esp)
  28.         call    printf
  29.         movl    $.LC0, %eax
  30.         movl    20(%esp), %edx
  31.         movl    %edx, 4(%esp)
  32.         movl    %eax, (%esp)
  33.         call    printf
  34.         leave
  35.         ret
  36.         .size   main, .-main
  37.         .ident  "GCC: (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5"
  38.         .section        .note.GNU-stack,"",@progbits

可以看出没有赋值操作的 自增运算 不管是 ++i 还是i++ 都会被会变成一条相同的汇编(addl $1, 28(%esp))
如果有赋值操作的时候 汇编的条数是一样的 只是 几条语句的顺序不一样
所以C中这两种格式区别仅在于生成的值, 所以在仅使用它们的副作用时, 二者 完全一样,

http://c-faq-chn.sourceforge.net/ccfaq/node46.htm

但是 C++同学的表现是不一样的有兴趣的同学google一下,

悲剧 刚才写的一段代码丢了
简单说下php同学吧
有兴趣的通许参阅一下php源码 大概在这个文件里zend_compile.c
stackoverflow上有一些简单的说明:

http://stackoverflow.com/questions/1756015/whats-the-difference-between-i-and-i-in-php

原文有一段
:For further clarification, post-incrementation in PHP has been documented as storing a temporary variable which attributes to this 10% overhead vs. pre-incrementation.

是说 post-incrementation i++ 比pre-incrementation ++i 花费多10% 来存储一个临时变量。

Older Posts »

Powered by 00RZ