由买买提看人间百态

topics

全部话题 - 话题: calloc
1 (共1页)
I*******e
发帖数: 1879
1
来自主题: Programming版 - [合集] 请教一个calloc的问题
☆─────────────────────────────────────☆
silentwolf (沉默的狼) 于 (Wed May 20 16:43:55 2009) 提到:
请问calloc最大能分配多少内存?我用calloc分配一个360M*sizeof(float)的内存,结
果没成功。试了一下300M*sizeof(float)可以。我google一下,calloc好像应该可以分
配4G,我这里只有1.5G左右,请问为啥会有问题? 谢谢
我用的是winxp 32位,vc++ 2008. Ram是4G.
☆─────────────────────────────────────☆
thrust (祝阳阳早日康复) 于 (Wed May 20 18:34:57 2009) 提到:
这个跟OS有关的
winxp 32位的进程用户空间缺省是2G
你一下子分1.5, 是很紧张
启动时用/3GB可以把用户空间长到3G
4G是不可能的, 你被骗了, 64位还差不多

☆─────────────────────────────────────☆
silent
s**l
发帖数: 30
2
want to use calloc in c to allocate memory dynamically in fortran,
because f77 can not support allocate memory dynamically.
I heard it is doable, who can help me and give me an example, like
allocate an array. Thanks.
b******a
发帖数: 215
3
来自主题: Programming版 - 初学C,对什么该free一直搞不明白
malloc还是calloc?
其实free是跟malloc/calloc对应的。你用了一个malloc/calloc的话,就要有一个free来
对应。

~~~~~calloc?

c*****i
发帖数: 25
4
来自主题: Programming版 - 初学C,对什么该free一直搞不明白
谢谢bugzilla和Silicon。
既然bugzilla提到了malloc和calloc,我想请问一下如果我的程序在运行时间上要求比
较严格的话,是不是用malloc要比calloc快一点?但是calloc又可以初始化成0,好象
要安全一些。请问大家都是怎么用的呢?

free来
f*******t
发帖数: 7549
5
平衡括号的题可以用贪心法做吧
#include
#include
#include
#include
#define INVALIDCHAR -1
using namespace std;
char *balance(char *str)
{
int len = strlen(str);
if(len < 1)
return NULL;

char *buff = (char*)calloc(len + 1, 1);
stack left;
for(int i = 0; i < len; i++) {
if(str[i] == '(')
left.push(i);
else if(str[i] == ')') {
if(left.empty()) {
buff[i] = INVALIDCHAR;
co... 阅读全帖
r**h
发帖数: 1288
6
来自主题: JobHunting版 - 一点码工求职经验总结,回报本版
个人总结的一些C/C++问题:
C Tutorial:
http://www.cprogramming.com/tutorial.html
C问题集:
http://www.indiabix.com/technical/c/
http://www.parashift.com/c++-faq-lite/index.html
1) 为啥要用c++;
2) encapsulate, polymorphism ,inheritance 的概念;
encapsulate: Hide details of implementation
polymorphism : has multiple forms
inheritance: is-a relationship
3)class的概念
type of object
4)default constructor是啥样的;
without parameters
5) 写copy  constructor要注意啥
parameter must be reference : Node(const... 阅读全帖
n**********2
发帖数: 648
7
【 以下文字转载自 Programming 讨论区 】
发信人: xykkkk (asdf), 信区: Programming
标 题: 老码农冒死揭开行业黑幕:如何编写无法维护的代码(zz)
发信站: BBS 未名空间站 (Fri Nov 28 13:28:27 2014, 美东)
如何编写无法维护的代码
让自己稳拿铁饭碗 ;-)
– Roedy Green(翻译版略有删节)
简介
永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无
能。 — 拿破仑
为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大
师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而
且,如果你能对照秘籍潜心修炼,你甚至可以给自己弄个铁饭碗,因为除了你之外,没
人能维护你写的代码。再而且,如果你能练就秘籍中的全部招式,那么连你自己都无法
维护你的代码了!
(伯乐在线配图)
你不想练功过度走火入魔吧。那就不要让你的代码一眼看去就完全无法维护,只要它实
质上是那样就行了。否则,你的代码就有被重写或重构的风险!
总体原则
Quidquid... 阅读全帖
s*****r
发帖数: 773
8
来自主题: Programming版 - 这段代码为何要这样做?
一个整数转化为字符串的函数
不太理解里面为什么要用到log
希望大家指点一二
char* itoa(int n) {
char *s =NULL;
char *p;
int nz;

int mf = 0;
if(n>=0) {
nz=log(n)/log(10);

s=(char*)calloc(nz+1,sizeof(char));
p=s;
}else{
if(n==INT_MIN) {
mf=1;
n=-INT_MAX;
}
nz=log(-n)/log(10);
n=-n;
s=(char *)calloc(nz+2,sizeof(char));
p=s;
*p='-';
p++;
}
int pt=pow(10,nz);

while(pt>=1){

if(pt==1&&mf)
*p=(n/pt)+'0'+1;
else
*p=(n/pt)+'0';
p++;
d****n
发帖数: 1637
9
来自主题: Programming版 - c字符串内存分配问题
malloc, calloc, realloc are in HEAP
alloca is in STACK
#####example####
buffered IO with char input
################
n=0;m=1024
char *s=(char *)calloc(m, sizeof(char));
char c;
while((c=getch())!=EOF){
if(n==m) s=(char *)realloc(s, (m<<=1),sizeof(char) );
*(s+(n++))=c;
}
*(s+n)='\0';
printf("%s\n", s);
free(s);
y****n
发帖数: 15
10
来自主题: Programming版 - 一个OpenMP问题求教
有一个关于openmp的问题想请教各位大牛。原始程序(如A)需要分配一个临时数组再释
放。用OpenMP改成并行实现后(如B),不同线程不能共享这个数组,每个线程需要独立
分配这段内存。
如果在循环体内分配内存,那一共分配了nk=121次,效率很低。实际上如果存在4个线
程,只要在每个线程中分配一次就行了。不知道应该如何实现,请大牛们指点。
非常感谢。
-------------------------------------
Program A:
-------------------------------------
float* pfSdx = (float *) calloc( N );
for (int k = 0; k < nk; k++)
{
...
}
free( (float *) pfSdx );
-------------------------------------
Program B:
-------------------------------------
#pragma omp parallel for
for (int k = 0; k < ... 阅读全帖
x****k
发帖数: 2932
11
如何编写无法维护的代码
让自己稳拿铁饭碗 ;-)
– Roedy Green(翻译版略有删节)
简介
永远不要(把自己遇到的问题)归因于(他人的)恶意,这恰恰说明了(你自己的)无
能。 — 拿破仑
为了造福大众,在Java编程领域创造就业机会,兄弟我在此传授大师们的秘籍。这些大
师写的代码极其难以维护,后继者就是想对它做最简单的修改都需要花上数年时间。而
且,如果你能对照秘籍潜心修炼,你甚至可以给自己弄个铁饭碗,因为除了你之外,没
人能维护你写的代码。再而且,如果你能练就秘籍中的全部招式,那么连你自己都无法
维护你的代码了!
(伯乐在线配图)
你不想练功过度走火入魔吧。那就不要让你的代码一眼看去就完全无法维护,只要它实
质上是那样就行了。否则,你的代码就有被重写或重构的风险!
总体原则
Quidquid latine dictum sit, altum sonatur.
(随便用拉丁文写点啥都会显得高大上。)
想挫败维护代码的程序员,你必须先明白他的思维方式。他接手了你的庞大程序,没有
时间把它全部读一遍,更别说理解它了。他无非是想快速找到修改代码的位置、改代码
、编译,然后就能交差,... 阅读全帖
c*********n
发帖数: 1057
12
来自主题: JobHunting版 - 一道小题
用recursive容易很多啊
void comb(int l,int r, char *result,int size){
//printf("%d, %d, %s\n",l,r,result);
if(l==0 && r==0){
printf("%s\n",result);
return;
}
if(l==r){
strcat(result,"(");
comb(l-1,r,result,size);
}
else if(l if(l>0 && r>0){
char *result1=calloc(size,1);
strcpy(result1,result);
strcat(r
s*****r
发帖数: 773
13
来自主题: JobHunting版 - 今天一个trading firm的面试题
芝加哥一个trading firm的电话一面, 本来email里面说要问概率统计和software development的问题,谁知道问的题目如下,感觉比我想象的简单多了.
1 什么是标准方差
2 什么是标准error
3 operator new什么功能
4 virtual function干什么用用的, 为什么要有virtual function
5 dynamic binding如何实现的
6 如何debug 程序, 如果是多线程的如何debug
7 malloc和calloc的区别
8 什么是abstraction, 如何实现abstraction
9 写一个程序计算fabonaci, 如果不recursive怎么写, 如何继续优化,我最后给的答案是用两个变量就行了.
s******s
发帖数: 3694
14
来自主题: JobHunting版 - 问个内存泄露的问题
"几百个文件的程序", 不理解是啥意思。
内存使用和track 在linux 下是有一些开源的工具的,或者有一些开源程序可以挂接到你的程序上供调式用。
以前有个简单的做法, override malloc/calloc/free or new/delete
r**u
发帖数: 1567
15
来自主题: JobHunting版 - 两个programming pearls的习题请教
1. 先对all available phone numbers 构造一个bitmap,把这个bitmap写成文件
bitfile。
bitfile logical divided into pages of size of 1MB
检索的时候,给一个电话,e.g., 8008997654,找到这个number在bitfile的哪一个
page,
8008997654/1MB。然后move文件指针到这个page,读入这个page,check这个number
在不在
这page里。
2. 题目不明白,calloc?
I**********s
发帖数: 441
16
来自主题: JobHunting版 - Google点面
问了1) 研究, 2) 多线程程序设计, 3) 任意无穷字符串流, 内存有限, 找出唯一一对
重复字符串, 这个我说了哈希表和外部排序, 但是面试人说有更好的办法(后来想也许
是bloom filter), 然后追问外部排序的细节到结束. 估计要挂 :(
总结: 面试既是技术活, 又是运气活.
无论如何, 把我的准备工作放下面, 攒点rp, 希望对大家有所帮助.
Interview Qs
Data Structures
1. Integer
- find number of 1s
- next largest smaller
- smallest larger number
- determine if is palindrom
- itoa, atoi
- add 2 numbers w/o using + or arithmetic operators
- implement *, -, / using only +
- find max of two numbers w/o co... 阅读全帖
p********o
发帖数: 640
17
来自主题: JobHunting版 - 昨天san jose Riverbed电面 面经
来加州找工作的第一个电面 而且和自己的背景还能match 可惜自己没珍惜
回答的巨烂 被拒了
1。 malloc 和calloc的区别
2。 linux 中的fork函数
3。 new 和 delete 对比 malloc free
4。 reference 和 pointer的区别
5。 list 和array的 共性和区别
6。 hashtable的 存储
7。 最后一个字符串反转的问题 hello san jose 要求输出 jose san hello
面试人非常的nice, 我今天特别沮丧还发信询问 原因(我自以为答的不错结果答的垃圾
哈哈)他还花了好久给我回信告诉我错在哪里. 真是的很感谢他.这世上好人还是多数^_^
各位找工作的兄弟姐妹加油加油!
h*****g
发帖数: 944
18
来自主题: JobHunting版 - 又问几个c语言编程的题目
Q1)
what are the variable types in the statement below?
int * x, y;
a) both x and y are of type int *
b) x is of type int* and y is of type int
c) x is of type int and y is of type int*
d) both x and y are of type int
我选的是b
Q2)
which of the following is a correct declaration for a pointer to a function
that returns a double and takes no arguments?
a) double (*ptr_function)(void);
b) double (ptr_function)(void);
c) double ptr_function(void);
d) double *ptr_function(void);
Q3)
Which of the followi... 阅读全帖
f**********2
发帖数: 10
19
来自主题: JobHunting版 - bloomberg onsite归来
I think I did well on i) But in the ii. I had a problem with the logic which
he
caught. I did the coding after he corrected me but by that time it was too
late
...Part of Fixed Income Interview also
1) What is the difference between C++ and Java?
2) What is the difference between malloc () and calloc ()?
3) Tell me the sequence of TCP socket function calls at server side.
4)....
5) to
9) please go:
http://www.careertea.com/techforum/post.aspx?PostID=20
b********n
发帖数: 29
20
来自主题: JobHunting版 - 问个算法题
#define N 4
void FindWordsBoggle(char board[][N])
{
int i=0,j=0;
char* outStr = (char*) malloc((N*N+1)*sizeof(char));
int* occupMap = (int*) calloc((N*N),sizeof(int));
int level = 0;
RecursiveBoggle(board, outStr, level, occupMap);
free(occupMap);
free(outStr);
}
void RecursiveBoggle(char board[][N], char* outStr, int level, int*
occupMap)
{
int* occupMapCopy = (int*) malloc((N*N)*sizeof(int));
memcpy(occupMapCopy, occupMap, N*N*sizeof(int));
int i=0,j=0;
for ( ; i < N; i++... 阅读全帖
j***y
发帖数: 2074
21
来自主题: JobHunting版 - two questions

It seems p1 and p2 are pointing to two consecutive memory areas respectively, aren't they? For examle, p1 = (int *) calloc(N * sizeof(int)), p2 = ... (similar).
p2[j] = p1[j] + p1[j-1], this I can understand. Except for the outmost
elements, every element is the sum of two neighboring elments in the above
layer. And I also noted that in every row, the column number is equal to row+1, if row starts with 0.
Why swap the two pointers here? Can't understand here...
a***r
发帖数: 93
22
memory O(n)
time O(nlogn)
//~ Given a array,find out if there exist a subarray such its sum is zero
#include
#include
using namespace std;
static void swap(int *p, int i, int j) {
int t=p[i]; p[i]=p[j];p[j]=t;
}
static int partition(int *p,int left,int right) {
int j=left;
for(int i=left;i if(p[i] }
swap(p,j,right);
return j;
}
static void binary_sort(int *p, int left, int right) {
if(left>=r... 阅读全帖
a***r
发帖数: 93
23

yes, it is a bug, fixed, thanks for pointing it out, should have used calloc in the first place.
The algorithm should work:
If sum(from i to j)==0, then sum(0....i-1) should equal to sum(0...j)
setup an array B, such that B[i]=A[0]+...+A[i]
if A[i]+...+A[j]==0 then B[i-1]==B[j];
so only needs to find if there are duplicate items in B.
binary sort B, find duplicates, if exists then return true;
otherwise return false;
welcome to find more bugs.
B*******1
发帖数: 2454
24
弱问这code是找连续的还是不连续的?

calloc in the first place.
r*****s
发帖数: 51
25
还需要判断 *t==0,若是,则 true。
Ex: [1, 2, 3, 4, -10, 5]
另外,*t==*(t++) 总是成立的吧?

calloc in the first place.
j********x
发帖数: 2330
26
很聪明的办法
既然是O(n)space,不如直接上hash table,还可以做到one-pass

calloc in the first place.
g***i
发帖数: 4272
27
来自主题: JobHunting版 - 电面了qualcomm的sde, 很是打击
EE的master,转码工不易啊。。
问的东西很杂,算法问题倒是不多,
问了quick sort,count sort具体实现
然后就问static variable和global 的区别, extern的用法
malloc和calloc的区别
问我是否知道把string变为int的函数(应该是atoi)
++n和n++具体实现,效率比较
解释眼图和BER
markov chain是啥
heap是啥,创建max heap的算法
QPSK和4QAM的区别
信号空间和向量啥的
香农定理
fft和dft区别
QPSK解调方式
wcdma是否支持mimo
wcdma和gsm区别
LTE对语音通话的解决方案
还有UE register umts网络步骤,详细说出来。这个完全没说出来
能记住的就这么多了。。是一个态度非常好的老印,投了无数了,拿到的电面没几个,
又screw up了一个
S**I
发帖数: 15689
28
☆─────────────────────────────────────☆
gzou (gzou) 于 (Thu May 12 02:26:35 2011, 美东) 提到:
马上就要G on site了,
求祝福。
下面是从本版收集到的Google的试题,便于大家查询。
申明:有的附带有解释说明的,也来自于本版或者网络,大家自己看, 不保证真确
http://www.mitbbs.com/article_t1/JobHunting/31847453_0_1.html
本人ECE fresh PhD,背景是电路/EDA,跟G业务基本没什么关系
同学内部推荐的,很简单的一次电面就给了onsite
题都不难,但是自己没把握好机会,出了一些小bug。
总的感觉,出错就是硬伤,宁可从最简单的算法写起,也不能出错。
电面:
1,Skip list, http://en.wikipedia.org/wiki/Skip_list
写code实现struct skip_list * find(struct skip_list *head, int value)
2,sorted array... 阅读全帖
S**I
发帖数: 15689
29
☆─────────────────────────────────────☆
gzou (gzou) 于 (Thu May 12 02:26:35 2011, 美东) 提到:
马上就要G on site了,
求祝福。
下面是从本版收集到的Google的试题,便于大家查询。
申明:有的附带有解释说明的,也来自于本版或者网络,大家自己看, 不保证真确
http://www.mitbbs.com/article_t1/JobHunting/31847453_0_1.html
本人ECE fresh PhD,背景是电路/EDA,跟G业务基本没什么关系
同学内部推荐的,很简单的一次电面就给了onsite
题都不难,但是自己没把握好机会,出了一些小bug。
总的感觉,出错就是硬伤,宁可从最简单的算法写起,也不能出错。
电面:
1,Skip list, http://en.wikipedia.org/wiki/Skip_list
写code实现struct skip_list * find(struct skip_list *head, int value)
2,sorted array... 阅读全帖
f*******t
发帖数: 7549
30
来自主题: JobHunting版 - find k missing numbers in range [0, N].
#include
#include
bool isSet(char *bitarray, int num)
{
int index = num / 8;
int offset = num % 8;
return bitarray[index] & (char)(1 << offset);
}
void set(char *bitarray, int num)
{
int index = num / 8;
int offset = num % 8;
bitarray[index] |= (char)(1 << offset);
}
void printMissingNum(int *array, int arraysize, int N)
{
int bitarraysize = (N + 7) / 8;
char *bitarray = (char*)calloc(bitarraysize, 1);
for(int i = 0; i < arraysize; ++i) {
... 阅读全帖
a********9
发帖数: 129
31
来自主题: JobHunting版 - google, vmware 面经
google面的是SRE
电面是国人大哥,一些c语言的pointer问题,然后一道leetcode原题
onsite1:
1)combination,还是没dupliate的,要把结果保存起来,我说用linked list,因为是
用c写,还要自己implement linkedlist, 略坑爹
2) 就是很简单的统计两个string分别有多少个单独的letter
onsite2:
bst inorder iterator
onsite3:
一个文件,每行是rack_name + machine id,输出每个rack有多少个machine,按大小排
序,我是先扫一遍存hashtable,再存进linkedlist再sort,这回没让我实现hashtable
跟linkedlist了,不过要我把用过的api单独再declear一下,最后再写个mergesort
onsite4:
有很多个machine,要求检测哪些die了,要求parallel,就写了一个for loop创建若干
个thread来执行任务,有点thread pool的感觉,用一个array来表示哪个machine被检... 阅读全帖
p****l
发帖数: 581
32
前两轮面经 glassdoor上面很多。
第一轮是5个behavior的问题
1. Why you choose Mathworks?
2. Why you feel yourself a qualified candidate?
3. Give an example how you tackled with multiple responsibilities?
4. Are you authorized to work in US?
5. What is your GPA?
第二轮:
Math
-Rank of matrix
-Eigenvalues of a matrix
-Eigenvector of a matrix
-Inverse of a matrix
C
-definition of Typedef
-malloc and calloc
-usage of <> and #
-what is recursive function?
Matlab
-difference between function and script
-concatenate matrix
--o... 阅读全帖
z*****n
发帖数: 7639
33
来自主题: CS版 - 一个程序的小问题
malloc只负责分配内存。分配的内存里面是随机内容。
strlen只负责找到string terminator \0。
你要是用calloc,你这程序结果是0。
p*******n
发帖数: 273
34
来自主题: Programming版 - 再问一个free()的问题
c语言中free要和malloc或者calloc等配合使用.
如果我先a=(double *)malloc(10*sizeof(double))
然后 double *b=a+5;
free(b)会不会把a指向的内存都释放了?
一直搞不明白free是怎么知道要free的内存大小.
h**o
发帖数: 548
35
来自主题: Programming版 - how to count the times a function is used
yes, I don't have. Here are some format I can parse the name of the
functions:
90861840 90001000 d80ca215c298 1
cd9028 cc69c0 0
libumem.so.1`umem_cache_alloc_debug+0x12b
libumem.so.1`umem_cache_alloc+0xc8
libumem.so.1`umem_alloc+0xaf
libumem.so.1`malloc+0x2e
libumem.so.1`calloc+0x35
xcalloc+0x3b
memPoolAlloc+0x28d
0x4e6f81
functionA+0x130
0x4eaa53
functionB+0x11b
libwebproxy.so.1`functionC+0x6ab
libwebproxy.so.1`functionD+0xa8
libwebproxy.so.1`functionE+0x6dc
libwebproxy.so.1`functionF+0x6d4
...
b******n
发帖数: 592
36
来自主题: Programming版 - thread or process
Is there anyway to map C malloc and calloc to use allocator in shared
segment easily?
X****r
发帖数: 3557
37
来自主题: Programming版 - heap 和 stack问题
如果你问的是堆上分配的内存和栈上占用的内存那个存取更快的话,那就和具体的体系
结构有关了,一般来说差别不大。对于具体的程序需要注意的主要是缓存的局域性问题。
选择用堆还是栈有许多因素,目前我能想到的有:数据的生存期;数据的大小;分配的
效率。
delete和free的主要区别在前者还调用对象的析构函数。其实你并无选择啊,new得
到的就必须用delete,malloc/calloc得到的就必须用free。
h*****g
发帖数: 944
38
来自主题: Programming版 - 又问几个c语言编程的题目
Q1)
what are the variable types in the statement below?
int * x, y;
a) both x and y are of type int *
b) x is of type int* and y is of type int
c) x is of type int and y is of type int*
d) both x and y are of type int
我选的是b
Q2)
which of the following is a correct declaration for a pointer to a function
that returns a double and takes no arguments?
a) double (*ptr_function)(void);
b) double (ptr_function)(void);
c) double ptr_function(void);
d) double *ptr_function(void);
Q3)
Which of the followi... 阅读全帖
d****n
发帖数: 1637
39
来自主题: Programming版 - In C++, how to do matrix computation?
okay,没代码没真相。
here is my shabby codes and I want to share with you all.
output and analysis will be post soon
//file name matrix_op.c
#include
#include
#include
#include
#include
#include
#define _MX_INIT(type_t, row, col) ({ int i;\
type_t ** ret;\
ret=(type_t ** )malloc( row *sizeof(type_t*));\
for(i=0;i (ret);\
})
#defin... 阅读全帖
d****n
发帖数: 1637
40
来自主题: Programming版 - 如何设计一个停车场。
My implementation using min heap
//file name parkinglots.c
#include
#include
int *lots; //parking lots
#define LOTSMAX 16 //lots size
void Heapify( int i, int mx);
void car_enter();
void car_leave(int i);
void print_lots();
int main(){
int i;
lots=(int *)calloc( (LOTSMAX), sizeof(int));
printf("car enter\n");
for(i=0;i if(lots[0]!=1){
car_enter();
print_lots();
}
}
printf("car leave\n");
for(i=LOTSM... 阅读全帖
d****n
发帖数: 1637
41
来自主题: Programming版 - 如何设计一个停车场。
My implementation using min heap
//file name parkinglots.c
#include
#include
int *lots; //parking lots
#define LOTSMAX 16 //lots size
void Heapify( int i, int mx);
void car_enter();
void car_leave(int i);
void print_lots();
int main(){
int i;
lots=(int *)calloc( (LOTSMAX), sizeof(int));
printf("car enter\n");
for(i=0;i if(lots[0]!=1){
car_enter();
print_lots();
}
}
printf("car leave\n");
for(i=LOTSM... 阅读全帖
p***o
发帖数: 1252
42
来自主题: Programming版 - C puzzle 一日一题
If your compiler is not that buggy, then the malloc implementation
is not standard conforming.
The malloc() and calloc() functions return a pointer to the
allocated memory that is *suitably aligned* for *any kind* of
variable.
p**o
发帖数: 3409
43
手写了一些C扩展,有些返回多重指针的函数不知道怎么用SWIG来包来供Python调用……
比如下面这个strsplit()函数,返回的是char**,怎么改才能让Python收到一个list (
of strings)?
http://www.swig.org/tutorial.html
我只是照tutorial简单地把函数声明抄进.i文件,Python中调用时返回的是

#include
#include
#include
/* Split an input string 'instr', using a set of given delimiters, to an
array of strings of at most 'maxparts' parts. */
char **strsplit (const char *instr, const char *delimiters, size_t maxparts)
{
char *... 阅读全帖
g***l
发帖数: 2753
44
来自主题: Programming版 - 有没有这样的memory management library?
就是先在系统内存中分配一块大的内存,比如说10M,然后所有的memory malloc/
calloc/free都是在这个内存块里面操作。这样可以减少memory fragmentation.
谢谢。
u*********t
发帖数: 95
45
来自主题: Programming版 - linux内存分配中page的几个问题
Not familiar with this slab allocator, but it seems the api kmem_cache_alloc
can be called in a device driver or interrupt handler, so I guess it must
have the ability to provide contiguous physical memory in case kmem_cache_
calloc is called in a higher priority device driver routine or something
like that.
W***o
发帖数: 6519
46
来自主题: Programming版 - 哈,居然写完了作业
觉得这学期上的advanced OS很有挑战性,对于我这转行读CS的,没有C,没有OS背景的
,上来就修AOS,开始还是挺头疼的,本来抱定学学看再决定是否withdraw的
今天算是完成了第二个编程project, 就是实现了MCS paper里几个 synchronization
barrier算法的;其实如果对C熟悉的话,就是把算法pseudocode翻译一遍的过程。我从
动态二位数组,calloc/malloc, 到Open MP, Open MPI统统要自学一遍。花了几天时间
算入门了,可是在写的时候,这个synchronization 算法很容易就 deadlock 一动也不
动,急死个人,头上冒汗。 上周花了几个晚上终于整明白asynchronous和synchronous
communication了。
现在看来好像不需要withdraw了,C的一些基本的东西,比如指针,内存,还有掌握了
MP, MPI的皮毛,就这么一路往下走吧,每学期修两门,没准明年这时候我就能开始投
简历了,前途是光明的 --- 自己鼓励一下,大牛见笑。
S*A
发帖数: 7142
47

度?
你的程序 j=1 是错的,任何数字可以被 1 整除。
如果可以用内存换时间的话可以快很多:
你的改正过的程序,
time ./a.out
9592
real 0m0.426s
user 0m0.424s
sys 0m0.000s
我的:
time ./a.out
9592
real 0m0.001s
user 0m0.000s
sys 0m0.000s
N = 1000000 貌似快了 400 倍?
更大的数更快。
int nPrime(int N)
{
int n= N/2 - !(N & 1);
char *buffer;
int i,j;
int count =1;
if (N<3)
return N == 2;

buffer = calloc(1,n);
if (!buffer)
return -1;
for (i=1; i int step;
if (buffer[i])
... 阅读全帖
b*****i
发帖数: 58
48
来自主题: Unix版 - about strtok()
I tried some times to solve your problem. At the first time, I got segmental
fault, but at last I am lucky to find a way to parse the tokens.Below is an
example:
#include
#include
#include
void main()
{
char *str;
char *line="15:wildwood.eecs.umich.edu:018032:24.79";
char *delimiter=":";
char *tokenp;
int numtokens,i;
if ((str=calloc(strlen(line) + 1, sizeof(char))) == NULL)
exit(1);
else {
strcpy(str, line);
s******e
发帖数: 273
49
来自主题: Unix版 - [转载] system call question
【 以下文字转载自 Programming 讨论区 】
【 原文由 seashore 所发表 】
hi, I have some question on the function "system()"
in C, which provide a interfact to execute a
shell command. suppose my calling program "master.c"
is written as
void main() {
;
;
for(i=0; i < 100; i++) res=system("cmd");
;
;
}
and the callee "cmd.c" is written as
int main() {
int r = random();
int *a = calloc(r, sizeof(int));
return(r);
}
I have two problem
s**s
发帖数: 242
50
in C:
....
float *B,...
B=(float *)malloc(N*sizeof(float));
fsub_(B,...)
in fortran:
subroutine fsub(B,....)
real B(1)
1 (共1页)