小编Fre*_*ong的帖子

C malloc,仅在填充时使用内存

当我的应用程序启动时,我正在为malloc分配一些空间.如果我不填充此变量top显示此应用程序使用的内存的0%,但如果我开始填充此变量top开始显示ram的使用量增加我填充此数组的方式.

所以我的问题是:不应该将malloc分配的空间显示为我的应用程序的已用空间吗?为什么当我填充此变量时,它仅显示我的应用程序的RAM使用量增加?

我在Ubuntu 10.10 64位.以下是填充它的代码:

char pack(uint64_t list, char bits, uint64_t *list_compressed, char control, uint64_t *index){
uint64_t a, rest;   

if(control == 0){
    a = list;
}
else{
    rest = list >> (64 - control);

    a = (control == 64 ? list_compressed[*index] : list_compressed[*index] + (list << control));

    if(control + bits >= 64){
        control = control - 64;
        //list_compressed[*index] = a;
        (*index)++;
        a = rest;
    } 
}

//list_compressed[*index] = a;
control = control + bits;

return control;
}
Run Code Online (Sandbox Code Playgroud)

"malloqued"变量是list_compressed.

如果我取消注释list_compressed填充,则ram使用率会增加,如果我保持注释,则使用率为0%.

c malloc memory-management

4
推荐指数
1
解决办法
249
查看次数

C反向二进制

可能重复:
无符号整数中的C反转位

如何仅使用二元运算符反转二进制数?

例如:

11100000 -> 00000111
00110100 -> 00101100
00111111 -> 11111100
Run Code Online (Sandbox Code Playgroud)

c binary binary-operators

4
推荐指数
1
解决办法
2万
查看次数

无法从有效证书获取 CRL

我有一个工作证书,但由于某种原因无法从中获取 CRL 信息。

我运行它以确保它正常工作:

openssl x509 -outform PEM -in cert_2_.pem
Run Code Online (Sandbox Code Playgroud)

这是输出:

-----BEGIN CERTIFICATE-----
MIIGoTCCBImgAwIBAgIBATANBgkqhkiG9w0BAQ0FADCBlzELMAkGA1UEBhMCQlIx
EzARBgNVBAoTCklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25h
bCBkZSBUZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxNDAyBgNVBAMTK0F1
dG9yaWRhZGUgQ2VydGlmaWNhZG9yYSBSYWl6IEJyYXNpbGVpcmEgdjIwHhcNMTAw
NjIxMTkwNDU3WhcNMjMwNjIxMTkwNDU3WjCBlzELMAkGA1UEBhMCQlIxEzARBgNV
BAoTCklDUC1CcmFzaWwxPTA7BgNVBAsTNEluc3RpdHV0byBOYWNpb25hbCBkZSBU
ZWNub2xvZ2lhIGRhIEluZm9ybWFjYW8gLSBJVEkxNDAyBgNVBAMTK0F1dG9yaWRh
ZGUgQ2VydGlmaWNhZG9yYSBSYWl6IEJyYXNpbGVpcmEgdjIwggIiMA0GCSqGSIb3
DQEBAQUAA4ICDwAwggIKAoICAQC6RqQO3edA8rWgfFKVV0X8bYTzhgHJhQOtmKvS
8l4Fmcm7b2Jn/XdEuQMHPNIbAGLUcCxCg3lmq5lWroG8akm983QPYrfrWwdmlEIk
nUasmkIYMPAkqFFB6quV8agrAnhptSknXpwuc8b+I6Xjps79bBtrAFTrAK1POkw8
5wqIW9pemgtW5LVUOB3yCpNkTsNBklMgKs/8dG7U2zM4YuT+jkxYHPePKk3/xZLZ
CVK9z3AAnWmaM2qIh0UhmRZRDTTfgr20aah8fNTd0/IVXEvFWBDqhRnLNiJYKnIM
mpbeys8IUWG/tAUpBiuGkP7pTcMEBUfLz3bZf3Gmh3sVQOQzgHgHHaTyjptAO8ly
UN9pvvAslh+QtdWudONltIwa6Wob+3JcxYJU6uBTB8TMEun33tcv1EgvRz8mYQSx
Epoza7WGSxMr0IadR+1p+/yEEmb4VuUOimx2xGsaesKgWhLRI4lYAXwIWNoVjhXZ
fn03tqRF9QOFzEf6i3lFuGZiM9MmSt4c6dR/5m0muTx9zQ8oCikPm91jq7mmRxqE
14WkA2UGBEtSjYM0Qn8xjhEu5rNnlUB+l3pAAPkRbIM4WK0DM1umxMHFsKwNqQbw
pmkBNLbp+JRITz6mdQnsSsU74MlesDL/n2lZzzwwbw3OJ1fsWhto/+xPb3gyPnnF
tF2VfwIDAQABo4H1MIHyME4GA1UdIARHMEUwQwYFYEwBAQAwOjA4BggrBgEFBQcC
ARYsaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJyL0RQQ2FjcmFpei5wZGYw
PwYDVR0fBDgwNjA0oDKgMIYuaHR0cDovL2FjcmFpei5pY3BicmFzaWwuZ292LmJy
L0xDUmFjcmFpenYyLmNybDAfBgNVHSMEGDAWgBQMOSA6twEfy9cofUGgx/pKrTIk
vjAdBgNVHQ4EFgQUDDkgOrcBH8vXKH1BoMf6Sq0yJL4wDwYDVR0TAQH/BAUwAwEB
/zAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQADggIBAFmaFGkYbX0pQ3B9
dpth33eOGnbkqdbLdqQWDEyUEsaQ0YEDxa0G2S1EvLIJdgmAOWcAGDRtBgrmtRBZ
SLp1YPw/jh0YVXArnkuVrImrCncke2HEx5EmjkYTUTe2jCcK0w3wmisig4OzvYM1
rZs8vHiDKTVhNvgRcTMgVGNTRQHYE1qEO9dmEyS3xEbFIthzJO4cExeWyCXoGx7P
34VQbTzq91CeG5fep2vb1nPSz3xQwLCM5VMSeoY5rDVbZ8fq1PvRwl3qDpdzmK4p
v+Q68wQ2UCzt3h7bhegdhAnu86aDM1tvR3lPSLX8uCYTq6qz9GER+0Vn8x0+bv4q
SyZEGp+xouA82uDkBTp4rPuooU2/XSx3KZDNEx3vBijYtxTzW8jJnqd+MRKKeGLE
0QW8BgJjBCsNid3kXFsygETUQuwq8/JAhzHVPuIKMgwUjdVybQvm/Y3kqPMFjXUX
d5sKufqQkplliDJnQwWOLQsVuzXxYejZZ3ftFuXoAS1rND+Og7P36g9KHj41hJ2M
gDQ/qZXow63EzZ7KFBYsGZ7kNou5uaNCJQc+w+XVaE+gZhyms7ZzHJAaP0C5GlZC
cIf/by0PEf0e//eFMBUO4xcx7ieVzMnpmR6Xx21bB7UFaj3yRd+6gnkkcC6bgh9m
qaVtJ8z2KqLRX4Vv4EadqtKlTlUO
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)

然后我尝试通过以下方式获取 CRL:

openssl x509 -outform PEM -in cert_2_.pem | openssl crl -text
Run Code Online (Sandbox Code Playgroud)

但这是输出

unable to load CRL
140537848063680:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: X509 CRL
Run Code Online (Sandbox Code Playgroud)

我做错了什么吗?

openssl ssl-certificate x509certificate

4
推荐指数
1
解决办法
5640
查看次数

u_int64_t数组

我正在尝试这样做:

int main(void){
    u_int64_t NNUM = 2<<19;
    u_int64_t list[NNUM], i;

    for(i = 0; i < 4; i++){ 
        list[i] = 999;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么我的Ubuntu 10.10 64位(gcc 4.6.1)会出现段错误?

c c++ 64-bit segmentation-fault

3
推荐指数
1
解决办法
1169
查看次数

基于Zernike矩的mahotas和opencv图像重建

我听说过教程后的mahotas ,希望在python中找到一个很好的Zernike多项式实现.这可不容易.但是,我需要比较原始图像和Zernike矩重建的图像之间的欧几里德差异.我 mahotas的作者是否可以将重建功能添加到他的库中,但他没有时间构建它.

如何使用mahotas提供的Zernike时刻在OpenCV中重建图像?

python opencv mahotas

3
推荐指数
1
解决办法
3905
查看次数

md5 numpy 数组的快速方法

我正在使用 python 2.7 中包含数千个 uint64 数字的 numpy 一维数组。分别计算每个数字的 md5 的最快方法是什么?

在调用 md5 函数之前,每个数字都必须转换为字符串。我在很多地方都读到迭代 numpy 的数组并在纯 python 中做事非常慢。有什么办法可以规避吗?

python hash md5 numpy

3
推荐指数
1
解决办法
1836
查看次数

更新android sdk权限错误

我已经下载了适用于linux的android SDK 8并按照教程输入:

#tools/android update sdk
bash: tools/android: Permission denied
Run Code Online (Sandbox Code Playgroud)

所以我尝试过:

#sudo tools/android update sdk
sudo: unable to execute tools/android: Permission denied
Run Code Online (Sandbox Code Playgroud)

permissions sdk android

2
推荐指数
1
解决办法
3102
查看次数

cuda 16位整数

在CUDA中有任何16位长的变量吗?我需要一个16位的无符号整数.我试过了:

uint16
uint16_t
Run Code Online (Sandbox Code Playgroud)

但是没有人被nvcc认可.

cuda uint

2
推荐指数
2
解决办法
2201
查看次数

gnuplot不重叠线条

使用gnuplot生成以下图表: 在此输入图像描述

它显示5(但可能更多或更少)波.但是,我需要的是分别显示每个波形,就像这样(我使用gimp):

在此输入图像描述

有没有办法用gnuplot做到这一点?我还需要每一波都是不同的颜色,就像我现在一样.

这是使用的gnuplot脚本:http://pastebin.com/vAD2syTS

这是gnuplot脚本用来修复我的数据的python脚本:http://pastebin.com/WEncNjDA

以下是数据:http://pastebin.com/ewBpvHWM

以下是python脚本修复后的数据:http://pastebin.com/cgimMyr9

gnuplot

2
推荐指数
2
解决办法
1377
查看次数

C:qsort似乎不适用于unsigned long

谁能告诉我以下示例有什么问题?我把它从这里拿走并换成intunsigned long.我也改变了cmpfunc正确处理unsigned long.

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

unsigned long values[] = { 88, 56, 100, 2, 25 };

int cmpfunc (const void * a, const void * b)
{
  if(*(unsigned long*)a - *(unsigned long*)b < 0){
    return -1;
  }

  if(*(unsigned long*)a - *(unsigned long*)b > 0){
    return 1;
  }

  if(*(unsigned long*)a - *(unsigned long*)b == 0){
    return 0;
  }
}

int main()
{
   int n;

   printf("Before sorting the list is: …
Run Code Online (Sandbox Code Playgroud)

c unsigned qsort

2
推荐指数
1
解决办法
643
查看次数

为什么我的python 2.7进程使用了​​相当多的内存?

我试图理解为什么这个python代码导致一个需要236 MB内存的进程,考虑到该列表只有76 MB长.

import sys
import psutil

initial = psutil.virtual_memory().available / 1024 / 1024
available_memory = psutil.virtual_memory().available

vector_memory = sys.getsizeof([])
vector_position_memory = sys.getsizeof([1]) - vector_memory

positions = 10000000

print "vector with %d positions should use %d MB of memory " % (positions, (vector_memory + positions * vector_position_memory) / 1024 / 1024)
print "it used %d MB of memory " % (sys.getsizeof(range(0, positions)) / 1024 / 1024)

final = psutil.virtual_memory().available / 1024 / 1024

print "however, this process used in total …
Run Code Online (Sandbox Code Playgroud)

python memory memory-management

1
推荐指数
1
解决办法
54
查看次数