V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  XiaoxiaoPu  ›  全部回复第 30 页 / 共 39 页
回复总数  770
1 ... 22  23  24  25  26  27  28  29  30  31 ... 39  
2016-03-06 17:01:29 +08:00
回复了 tangyang 创建的主题 问与答 哪个压缩软件可以设置压缩效率
楼主的目的是这个帖子吧 https://www.v2ex.com/t/261451#reply4 ,可以考虑只用 tar 打包,但是不压缩,如果一定要压缩,可以在低峰期批量压缩,或者把未压缩的文件传输到一台专门的机器上再压缩
2016-02-25 00:41:39 +08:00
回复了 SlipStupig 创建的主题 Python 编码挑战:求一千万自然数中质数和
啊哦,上面发的错了,这个才对

#include <stdio.h>
#include <string.h>
#include <stdlib.h>


static inline int getbit(int *bits, int i)
{
return (bits[i>>5] >> (i & 31)) & 1;
}

static inline void setbit(int *bits, int i)
{
bits[i>>5] |= (1 << (i & 31));
}

static inline void clrbit(int *bits, int i)
{
bits[i>>5] &= ~(1 << (i & 31));
}

int isqrt(int num)
{
register int x1 = num, x2;

do
{
x2 = x1;
x1 = (x1 + num / x1) / 2;
} while (x1 < x2);
return x2;
}


int main()
{
int n = 10000000;
int *bits;

bits = (int *)malloc(((n>>5)+1) * sizeof(int));
if (bits == NULL)
{
fprintf(stderr, "Out of memory.\n");
return 1;
}

for (int i = 0; i < ((n>>5)+1); i++)
{
bits[i] = ~0;
}

clrbit(bits, 0);
clrbit(bits, 1);
clrbit(bits, 4);

int end = isqrt(n);
for (int i = 2; i <= end; i++)
{
if (getbit(bits, i))
{
int j0 = n / i;
for (int j = 2; j <= j0; j++)
{
clrbit(bits, i * j);
}
}
}

long sum = 0;
for (int i = 2; i <= n; i++)
{
if (getbit(bits, i))
{
sum += i;
}
}
printf("%ld\n", sum);

return 0;
}


➜ ~ gcc -o prime -std=gnu99 -O3 prime.c
➜ ~ ./prime
3203324994356
➜ ~
2016-02-25 00:39:34 +08:00
回复了 SlipStupig 创建的主题 Python 编码挑战:求一千万自然数中质数和
#include <stdio.h>
#include <string.h>
#include <stdlib.h>


static inline int getbit(int *bits, int i)
{
return (bits[i>>5] >> (i & 31)) & 1;
}

static inline void setbit(int *bits, int i)
{
bits[i>>5] |= (1 << (i & 31));
}

static inline void clrbit(int *bits, int i)
{
bits[i>>5] &= ~(1 << (i & 31));
}

int isqrt(int num)
{
register int x1 = num, x2;

do
{
x2 = x1;
x1 = (x1 + num / x1) / 2;
} while (x1 < x2);
return x2;
}


int main()
{
int n = 10000000;
int *bits;

bits = (int *)malloc(((n>>5)+1) * sizeof(int));
if (bits == NULL)
{
fprintf(stderr, "Out of memory.\n");
return 1;
}

for (int i = 0; i < ((n>>5)+1); i++)
{
bits[i] = ~0;
}

clrbit(bits, 0);
clrbit(bits, 1);
clrbit(bits, 4);

int end = isqrt(n);
long sum = 0;
for (int i = 2; i <= end; i++)
{
if (getbit(bits, i))
{
sum += i;
int j0 = n / i;
for (int j = 2; j <= j0; j++)
{
clrbit(bits, i * j);
}
}
}

printf("%ld\n", sum);

return 0;
}



发个 C 写的
➜ ~ gcc -o prime -std=gnu99 -O3 prime.c
➜ ~ time ./prime
642869
./prime 0.04s user 0.00s system 94% cpu 0.046 total
➜ ~
2016-02-23 23:02:01 +08:00
回复了 quietin 创建的主题 Python socket 的客户端发送空字符与主动关闭是否有区别
@quietin 以用 read 函数读取 socket 为例:对于 socket 连接的*阻塞*读请求, 1: 如果对端没有写数据,那么会一直阻塞直到后面两种情况发生, 2: 如果接收到对端写的数据,那么会返回这次请求接收的数据的字节数, 3: 如果对端关闭连接\结束写操作(即发送 FIN),那么会返回 0 。你说的客户端发送空字符的情况,说法是不准确的, socket 上发送或接受的都是字节流,要么有数据,要么没数据,无所谓数据的内容,只看数据的字节数。
2016-02-20 16:39:57 +08:00
回复了 holinhot 创建的主题 问与答 为什么国内的 dns 都不让编辑 ns 记录和 soa 记录
@holinhot 域名只要能解析,肯定知道用的是哪个 NS ,藏不了的。另外要投诉的话,直接找域名的注册商不是更直接?
2016-02-02 01:17:19 +08:00
回复了 sneezry 创建的主题 分享发现 80、443 端口无法使用时使用 Let’s Encrypt 签发证书
写了个 Python3 脚本自动调用 DnsPod API
https://gist.github.com/XiaoxiaoPu/d69f99fcebe49f3af843
保存为 dnspod.py ,修改 111, 112 行的登录邮箱、密码、域名,在 hook.sh 的 deploy_challenge 函数中写上

./dnspod.py "${DOMAIN}" "${TOKEN_VALUE}"
sleep 3

欢迎使用&建议
@abutter lzo 是线程安全的,问题已解决,与 lzo 无关。
@zhczhy
1. http://www.oberhumer.com/opensource/lzo/
2. 很多变量紧接着就被赋值了,感觉没必要声明时就初始化。除此之外还有哪里规范性太差呢?
3. 只在本文件用到的函数为什么不写成 static ,万一跟其他文件的符号重名了怎么办?
4. DUP_LEN 是要作为数组长度的,改成 const 的话 gcc 会编译不通过
@kezhuw 非常感谢,我试试。我理解的,重入时如果只修改局部变量,那么不会有问题,这样可能问题在于 minilzo 在压缩时访问全局变量了,我在看下。再次感谢!
找到没有 coredump 的原因了,要生成 suid 程序的 coredump ,需要执行 sudo sysctl fs.suid_dumpable=1 才行
@mzer0 “弄了一堆什么用都没有的文件”,那你说说看,哪个文件是多余的没有用的?你说的都是莫名其妙的点,这我肯定无法接受。
@mzer0 "你项目都是建立在 ipconfig 之类的工具之上的, 那还不如直接写个脚本, 压根用不到 C 语言",呵呵,你拿脚本写一个 ShadowVPN 这样的程序出来啊
@Andiry minilzo.c 是引用的一个 lzo 压缩库,不是我写的 http://www.oberhumer.com/opensource/lzo/
@mzer0 你要知道 libmill 是协程而不是线程,这意味着上下文切换不是任意时刻都会发生的,只有在 libmill 定义的 API 中才可能发生。你真的了解过 libmill 吗?还是主观臆测?
我认为按照功能把代码划分成文件有助于模块化,你不认同这种思想,那我也没办法。
@pagict
@hitmanx systemd 不知道怎么管理 coredump 的,没找到 coredump ,我再试试吧
@airqj 开源程序,有兴趣就开咯,没兴趣也不强求
1 ... 22  23  24  25  26  27  28  29  30  31 ... 39  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   798 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 20:38 · PVG 04:38 · LAX 13:38 · JFK 16:38
Developed with CodeLauncher
♥ Do have faith in what you're doing.