由买买提看人间百态

topics

全部话题 - 话题: stdio
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
u*********t
发帖数: 95
1
这个c程序在Ubuntu 9.04里编译能过,但是出来的结果很奇特
#include
#include
int main(){
int a;
bool b;
a = (b == true);
printf("a = %d\n",a);
return 0;
}
用Ubuntu 9.04 里的gcc 4.3.3 编译后,执行的结果竟然是 a = 184,
用FreeBSD里的gcc 4.2.1编译的结果就是对的,a要么是0,要么是1
用Debian4里的gcc 4.1.2和CentOS里的gcc 3.4.6也都是对的,莫非这是
gcc 4.3.3的新特性,强迫大家必须初始化变量?
u*********t
发帖数: 95
2
好吧,我把代码改了一下:
#include
#include
int main(){
int a;
int c;
bool b;
a = (b == true);
c = (b != true);
printf("a = %d, c = %d\n",a,c);
return 0;
}
结果a = 184, c = 185, 莫非 "true" = 184, "false" = 185, 或者反过来?
而不是用0表示 "false" ?
E*V
发帖数: 17544
3
来自主题: Linux版 - 这本书比较好玩
程序员进化史
初中/高中
10 PRINT "HELLO WORLD"
20 END
大学一年级
program Hello(input, output);
begin
writeln('Hello world');
end.
大学四年级
(defun hello ()
(print (list 'HELLO 'WORLD)))
刚参加工作
#include
main (argc, argv)
int argc;
char **argv; {
printf ("Hello World!\n");
}
老手
#include
const int MAXLEN = 80;
class outstring;
class outstring {
private:
int size;
char str[MAXLEN];
public:
outstring() { size=0; }
~outstring() { size=0; }
void print();
void assign(char *chrs);
};
void outstring::prin
E*V
发帖数: 17544
4
来自主题: Linux版 - Linux GNU C, readlink问题 (转载)
#include
#include
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
int main(){
char path[90];
ssize_t size;
size = readlink("/home/zsdfsf/dfasfsdfadfm", path, 90);
path[size] = '\0';
printf("%d, %s\n", size, path);
return (0);
}
i*****f
发帖数: 578
5
来自主题: Linux版 - 关于signal handler
raise() just send a signal to itself. I think the codes below raise() will
continue to be executed. See man 3 raise. Also, try the following code:
#include
#include
#include
/* A handler for the ALARM signal */
void act_sigalrm(int sig)
{
puts("catched a SIGALRM");
/* raise this signal again. */
raise(sig);
puts("this code will be executed.");
}
int main()
{
signal(SIGALRM, act_sigalrm);
/* issue SIGALRM 3 sec later */
alarm(3);
/* entering event l
r*******y
发帖数: 1081
6
来自主题: Linux版 - 看看这个 C 代码
#include
int f(double a[]){
return sizeof(a);
}
int main(void){

double a[100];
printf("%d %d\n", f(a), sizeof(a)));
}
为什么显示出来的是 4 800
而不是我想要的 800 800
有什么办法让函数的返回值是800吗?
谢谢
r****y
发帖数: 26819
7
来自主题: Linux版 - 看看这个 C 代码
not exactly original but can simulate:
/*
* sizeof.c - Implementation of sizeof operator
* http://faq.zanvar.in
*/
#include
#include
/* Find the size of an variable */
#define sizeof_var( var ) ((size_t)(&(var)+1)-(size_t)(&(var)))
/* Find the size of a data type */
#define sizeof_type( type ) (size_t)((type*)1000 + 1 )-(size_t)((type*)1000)
int main ( void )
{
int a;
int b[10];
printf ( "%lu\n", sizeof ( b ) );
printf ( "%lu\n", sizeof ( b+0 ) );
printf ( "%lu\n", sizeof_va
r*******y
发帖数: 1081
8
来自主题: Linux版 - 看看这个 C 代码
I think I get a better one now as I desired
#include
#include
#include
int f(double *a){
return malloc_usable_size(a) - sizeof(void *);
}
int main(void){
double *a= malloc(sizeof(double) * 100);
printf("%d \n", f(a));
}
Thanks.
G**Y
发帖数: 33224
9
来自主题: Linux版 - fscanf is messy
What "%[^\n]\n" means?!
If the first few lines of an input file are:
hello
hello
world
...
the 3rd line is empty, no extra spaces at the end of the lines. What the output should be?
#include
#include
int main(void) {
FILE* fp;
char file[999]="hello.world";
char dummy1[9999], dummy2[9999], dummy3[9999], dummy4[9999];
int line_max=9999;
int i;
if ((fp = fopen(file, "r")) == NULL) {
printf("Cannot open file %s for reading. \n", file);
exit(
d****f
发帖数: 313
10
工作中牵涉到一个稍微复杂一点的线程同步问题,问题描述如下:
有两个thread:t1和t2
1、t1做N个时间步,t2做一个时间步(都是差分时间步),换句话说每个t2和N个t1同步
2、同步时,t1和t2要交换一下数据,t1先传1个链表tL1给t2,t2用这个tL1算两个链表
值(DataProcess),tL2a,tL2b,一个要回传给t1(tL2a,之后t1的N步都要用到这个tL2a
),另一个tL2b是t2下一步自己计算要用到的,这个过程是串行(原来并行的强制串行
).
3、交换完数据,t1和t2各自完成自己时间步计算,这个过程中t1做一个积分(N步),
t2解一个方程,无论哪个先完成,都需要等到双方都完成了,才能开始下一轮的计算(
也就是回到2),这个过程是并行的.
我贴了一个简单的框架,只是保证t1做一步,t2做一步,因为刚开始接触并行内容,所
以请各位大牛指点一下,这个每轮先串行后并行的过程如何实现,比如是不是需要两个
mutex,两个condition variable,等等,希望我已经描述清楚了, 谢谢!稍微有点提示也非常欢迎!
#include
#
s*****w
发帖数: 1527
11
for the following, why some -D are in front of some -I ?
does that mean these defines are only for the include path following it ?
[somehow@bsd ~/bsd_src/lib/libc]$ make
Warning: Object directory not changed from original
/usr/home/somehow/bsd_src/lib/libc
cc -O2 -pipe -I/usr/home/somehow/bsd_src/lib/libc/include -
I/usr/home/somhhow/bsd_src/lib/libc/../../include -
I/usr/home/somehow/bsd_src/lib/libc/amd64 -DNLS -D__DBINTERFACE_PRIVATE -
I/usr/home/somehow/bsd_src/lib/libc/../../contrib/gdtoa ... 阅读全帖
N****w
发帖数: 21578
12
有些是两边都有的,比如 stdio.h
d*********8
发帖数: 2192
13
概念要清楚。
头文件至少有三类。
system/kernel api, 比如read() write()。WINDOWS是支持大部分POSIX的,所以不用
担心。但是除了POSIX之外,还有很多LINUX/UNIX独有的。比如fork()。你不用CYWIN的
话,想移植这个跟自己做个CYWIN也差不了多少了。也可以用一些可移植的库,比如
APACHE 的APR, poco等等,但是估计要大动源代码了。
第二类 c runtime
这个所有C/C++编译器都支持,只是各家的扩展略有不同。比如STDIO.H就是这类。
第三类:程序自己的东西,比如filter\mean.h这个就得你自己去修改编译参数,让编
译器找到这个文件。
总之,不用CYWIN或者可移植库,假定源代码在20000行的话,工作量跟你重新写差不多。
你可以参考那些在UNIX/WINDOWS下都有的开源软件,比如squid, apache看看他们是怎
么做的。
d**d
发帖数: 389
14
【 以下文字转载自 Programming 讨论区 】
发信人: dxxd (东邪西毒), 信区: Programming
标 题: 请教一个linux下的POSIX timer的问题。
发信站: BBS 未名空间站 (Fri May 13 17:06:15 2011, 美东)
我用linux下面的POSIX timer, timer_create(),timer_settime(),
为什么在调用了timer_settime()以后,立马就有一个time-out callback? 然后再每过
5秒后有一个time out?
难道不是我调用timer_settime()以后,timer开始计时, 等到5秒以后再出现第一
time out callback 吗?
非常感谢!
代码如下:
#include
#include
#include
#include
#include
void
handle (sigval_t v)
{
tim... 阅读全帖
C********s
发帖数: 120
15
来自主题: Linux版 - 纪念我的头像
#include
int main(){
print "Goodbye world :(\n";
return(70);
}
each of us has a return value, but only very few of us are able to know what
the return value we pass back is when our run-time ends and we hand
ourselves over to the system.
-- TheFloorIsNowBacon@reddit
q***s
发帖数: 2243
16
#include
int main(void)
{
printf("hello, world\n");
return 0;
}
A**u
发帖数: 2458
17
#include "stdio.h"
int main()
{
printf("Baozi\n");
}
u*********r
发帖数: 2735
18
#include
int main()
{
int n = 173033810;
do
{
putchar( n & 0xff );
n >>= 8;
} while (n);
}
D**e
发帖数: 10169
19
来自主题: Programming版 - 如何计算1000的阶乘
#include
#define l11l 0xFFFF
#define ll1 for
#define ll111 if
#define l1l1 unsigned
#define l111 struct
#define lll11 short
#define ll11l long
#define ll1ll putchar
#define l1l1l(l) l=malloc(sizeof(l111 llll1));l->lll1l=1-1;l->ll1l1=1-1;
#define l1ll1 *lllll++=l1ll%10000;l1ll/=10000;
#define l1lll ll111(!l1->lll1l){l1l1l(l1->lll1l);l1->lll1l->ll1l1=l1;}\
lllll=(l1=l1->lll1l)->lll;ll=1-1;
#define llll 1000
l111 llll1 {
o******r
发帖数: 259
20
来自主题: Programming版 - [转载] Code效率确实很低!!!(改进版)
【 以下文字转载自 ProtestJapan 讨论区 】
【 原文由 observer 所发表 】
瓶颈在于network
我观察task manager的network usage才1%
估计大部分时间耗在了等待network api返回上
开10个thread, 半天才到count 100
我等到count 200就认为测试通过了
增加thread数目不一定会加快,因为switching
sleep是为了防止在thread之间无用的switch来回
大家试试吧
// Vote.cpp : Defines the entry point for the console application.
//
//#include
#include /* _beginthread, _endthread */
#include
#include
#include
#include "stdafx.h"
#include
#include
q*****g
发帖数: 1568
21
来自主题: Programming版 - Re: [转载] 关于extern line的问题
【 以下文字转载自 Linux 讨论区 】
【 原文由 qiuxing 所发表 】
刚才在编程版几位同学已经指出来是头文件里面include f1.h了两次的问题。
下面是我全部的代码,f1 == my_tstat2fun, f2 == my_multi_tstat2fun,
prog == my_test
my_tstat2.h:
#include
#include
#include
#include
#include
#include
/* This function produces two sample t-statistic with pooled variance
for an slidenum-dimensional double precision data. */
double my_tstat2fun(gsl_vector * data, int cutoff)
{
int
l*l
发帖数: 26
22
来自主题: Programming版 - little endian vs big endian
//Please tell me what's the output of the following code for
//bothe little endian and big endian.
#include
#include
int main(void)
{
unsigned long a[2];
unsigned short c;
unsigned char* b;
a[0] = 0x12345678;
a[1] = 0x9abcdef0;
b= (unsigned char*)a;
printf("%02x%02x%02x%02x%02x%02x%02x%02x\n",b[0],b[1],b[2],b[3],
b[4],b[5],b[6],b[7]);
b += 2;
printf("%x\n", *(unsigned int*)b);
b += 4; //b = a+6
printf("
y****i
发帖数: 156
23
kbhit: check keyboard input
getch: get the key.
You can find help in MSDN or turboc C
// MSDN example
/* KBHIT.C: This program loops until the user
* presses a key. If _kbhit returns nonzero, a
* keystroke is waiting in the buffer. The program
* can call _getch or _getche to get the keystroke.
*/
#include
#include
void main( void )
{
/* Display message until key is pressed. */
while( !_kbhit() )
_cputs( "Hit me!! " );
/* Use _getch to throw key away. */
prin
q*****g
发帖数: 1568
24
来自主题: Programming版 - GCC 居然允许变量长度的向量
【 以下文字转载自 Linux 讨论区 】
发信人: qiuxing (球星), 信区: Linux
标 题: GCC 居然允许变量长度的向量
发信站: BBS 未名空间站 (Tue Nov 1 00:47:05 2005), 转信
这个程序本来是一个标准的错误程序,我的gcc居然连个报错都不给,顺利
编译,顺利运行。结果就是拿到Windows上用VC就编译通不过,我于是就被人
嘲笑了一把(^_^):
#include
int main ()
{
int n = 5;
int a[n];
int i;
for (i = 0; i < 5; i++)
{
a[i] = 2 * i;
printf("%d\n", a[i]);
}
return 0;
}
s*****n
发帖数: 1279
25
来自主题: Programming版 - 一个极简单的程序求教
以前用C++都是在interpreter的环境下,现在想编译,发现好多都不懂。大家帮我看看下
面这个程序:
#include
#include
#include
#include
#include
int main (int argc, char **argv)
{
int iarg = 1;
char root_file_name[256];
strcpy (single_file_name,argv[1]);
strcpy (root_file_name, argv[2]);

ofstream decayresults(root_file_name);
decayresults.close();
cout<<"That's all"<
}//end of main
然后我用下面的Makefile编译总是通不过,说是ofstream,cout, endl 都没有定义。难
道不是只要include ,
w*******e
发帖数: 312
26
来自主题: Programming版 - 谁给解释下这个比较弱的问题?
下面的程序为啥还能输出2, b应该不能出test这个函数的啊,何解?
warnign倒是有
warning C4172: returning address of local variable or temporary
#include
int * test(const int & a)
{
int b;
b = a+1;
return &b;
}
int main()
{
int x = 1;
int *y = test(x);
printf("%d",*y);

return 0;
}
b****t
发帖数: 82
27
来自主题: Programming版 - EOF一问
程序
#include "stdio.h"
main()
{
int c;
c=getchar();
while(c!=EOF)
{
putchar(c);
}
}
程序执行的时候,会提示输入字符(char),但是如何能够退出循环?也就是说如何能够
满足c=EOF?我尝试了-1,好像不行。
请大家帮忙看看
谢谢
m***t
发帖数: 254
28
来自主题: Programming版 - Question on using ## in #define
#include
#define REPLACE hello world
#define JOIN(a, b) a##b
int main() {
printf("JOIN(REP, LACE)\n");
return 0;
}
run on gcc, output:
JOIN(REP, LACE)
Why?
m***t
发帖数: 254
29
来自主题: Programming版 - Question on using ## in #define
Thanks. That works. But i am kind of curious since I thought preprocessor
should handle the string substitution. And i tried the following which gives
me compilation error.
#include
#define REPLACE hello world
#define JOIN(a, b) a##b
int main() {
printf("%s", JOIN(REP, LACE));
return 0;
}
b******y
发帖数: 2729
30
【 以下文字转载自 JobHunting 讨论区 】
发信人: buddyboy (hello), 信区: JobHunting
标 题: 【请教】fscanf 和 fstream 哪一个更好?
发信站: BBS 未名空间站 (Thu Feb 1 13:39:30 2007)
关于C++里面读写文件有很多做法,
最普遍的两种是:
#include
int mydata;
FILE *infile = fopen("data.dat","r");
fscanf(infile,"%d",&mydata);
或者使用:
#include
using namespace std;
int mydata;
ifstream infile("data.dat");
infile>>mydata;
哪一种方法更好更实用?谢谢!
t*****s
发帖数: 49
31
来自主题: Programming版 - 一个关于Insight debugger的问题
很久以前用过一阵insight, 记得只要在insight里打开.exe文件就会显示对应的.c文件。
可现在打开.exe看到的都是不可读的机器码,用最简单的程序(如下)试了也不行。
#include
int main()
{
double x=1.4;
printf("This is a C program\n");
return 0;
}
请问我是忘了哪个步骤吗?
多谢指点。
t****t
发帖数: 6806
32
来自主题: Programming版 - Opaque type in C
e.g. FILE * in stdio. you can use FILE* no problem, but you don't know what'
s in it.
c***g
发帖数: 472
33
来自主题: Programming版 - 一个简单的小问题
According to the language definition, an integral constant expression with t
he value 0 in a pointer context is converted into a null pointer at compil
e time.
As a matter of style, many programmers prefer not to have unadorned 0
's scattered through their programs, some representing numbers and some repr
esenting pointers. Therefore, the preprocessor macro NULL is defined (by sev
eral headers, including and ) as a null pointer constant
, typically 0 or ((void *)0)
Using NULL
w***n
发帖数: 1137
34
来自主题: Programming版 - 问一个c的问题
got it, googled this
EXAMPLES
Getting the Current Time
The following example uses the time() function to calculate the time elapsed
, in seconds, since the Epoch, localtime() to convert that value to a broken
-down time, and asctime() to convert the broken-down time values into a
printable string.
#include
#include
int main(void)
{
time_t result;
result = time(NULL);
printf("%s%ju secs since the Epoch\n",
asctime(localtime(&result)),
(uintmax_t)resu
j*******e
发帖数: 674
35
来自主题: Programming版 - 请问c++为什么会编译失败?
源程序:
#include
class A
{
public:
virtual void h()const{ printf("A::h() const\n");}
virtual void h(){ printf("A::h() non-const\n");}
};
class C: public A
{
public:
virtual void h(){ printf("C::h() non-const\n");}
};
int main()
{
C obj;
C* p1 = &obj;
const C* p2 = p1;
A* p3 = (A*)p1;
const A* p4 = p3;
p1->h();
//p2->h(); ///// this line will cause compile fail!!! but why?
p3->h();
p4->h();
return 0;
}
输出结果:
C::h() non-const
C::h() non-const
A::h() const
问题:
v*********o
发帖数: 5
36
来自主题: Programming版 - 除了类,c++和C区别在那?
C++是C的超集,也可以说C是C++的子集。
C++增加了C不具有的关键字。这些关键字能作为函数和变量的标识符在C程序中使用,尽
管C++包含了所有的C,但显然没有任何C++编译器能编译这样的C程序。
C程序员可以省略函数原型,而C++不可以,一个不带参数的C函数原型必须把void写
出来。而C++可以使用空参数列表。
C++中new和delete是对内存分配的运算符,取代了C中的malloc和free。
标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。
C++中还增加了bool型变量和wchar_t型变量
C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。
C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和longjmp()函数。
在C语言中,输入输出是使用语句scanf()和printf()来实现的,而C++中是使用类来实现
的。
c++中引入了安全的类型转换机制
C++函数的原型中可以声明一个或多个带有默认值的参数。如果调用函数时,省略了相应
的实际参数,那么编译
k********r
发帖数: 18
37
来自主题: Programming版 - About timeout in Socket Programming.
我在编一个peer-to-peer 的程序。
Computer A 收到用户输入后就broadcast 个request packet 寻求文件
。有文件的Computer B和 C都返回 response. Computer A选择并发confirm 给B,同
时打开server接受连接。B收到confirm后和A建立连接。
我要给request 和confirm设个timeout。如果request 没及时收到response,重传。否
则取消timeout; 如果A的confirm 没及时收到B的连接,A就给C发confirm让C和A建
立连接,如收到就取消timeout;
Question:
1. 如何设timeout哪?
a.select(). 可我在主程序已经把select()放在loop里接受stdio, request/response/
confirm, 好像没地方再设其他select()给request/confirm用于timeout了。
b. 用alarm(). 可alarm()无法区分是alarm谁,哪个文件的哪个reques
c****y
发帖数: 24
38
来自主题: Programming版 - About timeout in Socket Programming.
fork()吧,子进程可以用个SIGALRM处理函数来设置个标志;子进程的结束状态可以由
wait/waitpid得到。然后父进程就在loop B/C,子进程成功返回就直接break,否则继
续loop。

我在编一个peer-to-peer 的程序。
Computer A 收到用户输入后就broadcast 个request packet 寻求文件
。有文件的Computer B和 C都返回 response. Computer A选择并发confirm 给B,同
时打开server接受连接。B收到confirm后和A建立连接。
我要给request 和confirm设个timeout。如果request 没及时收到response,重传。否
则取消timeout; 如果A的confirm 没及时收到B的连接,A就给C发confirm让C和A建
立连接,如收到就取消timeout;
Question:
1. 如何设timeout哪?
a.select(). 可我在主程序已经把select()放在loop里接受stdio, request/respon
f********f
发帖数: 8
39
来自主题: Programming版 - 关于C C++ 和java的文件读写问题
要求:a file is to be copied and at the same time its content has to be
reversed (byte by byte)
程序的问题是,当文件很大时, 出错.
请各位大虾,还有聪明的小米,还有好心的xdjms,多多指点. :-)
c语言
#include
#include
#define BUFFER_SIZE 1
int main(int argc, char *argv[])
{
FILE *fp_src, *fp_dest;
void *buffer;
int read;
unsigned int fpSize = 0;
int i,j;
buffer = malloc(BUFFER_SIZE);
if (argc != 3)
{
printf("usage: rcopy srcFile destFile \n");
c********x
发帖数: 84
40
来自主题: Programming版 - solidot上看来的
they are wrong, the reason abs() parameter formats are the abs(float) or abs
(double), when the
result assigns to int b, the '-' sign get chopped out. Here is the right one:
#include
#include
int main()
{
int i=3;
int a=10*abs(i-1);
float b= -10.0*abs(i-1);
printf("%d %.0f\n",a, b);
}
k*k
发帖数: 508
41
来自主题: Programming版 - ask a simple question about int pointer.
仔细看原题
#include
int GetSizeOfMemory(int *a) {
return sizeof(a)/sizeof(int);
}
int main() {
int a[10];
printf("%d\n", GetSizeOfMemory(a));
}
输出 1.
b******g
发帖数: 54
42
来自主题: Programming版 - ask a simple question about int pointer.
ft, 仔细看贴。我说的是这个怎么不对:
#include
#define sizeofmemory(a) (sizeof(a)/sizeof(int))
void main()
{
int s[]={0,1,2,3,4,5,6,7,8,9};
int *b;
int size = sizeofmemory(s);
printf("%d\n ",size);
}
c***g
发帖数: 472
43
来自主题: Programming版 - 谁帮我解释一下这个代码
#include
#include
main(){
typedef union {
int a;
char b[10];
float c;
}
Union;
Union x,y ={100};
x.a = 50;
strcpy(x.b,"hello");
x.c = 21.50;
printf("Union x: %d %s %f \n",x.a,x.b,x.c);
printf("Union y: %d %s %f \n",y.a,y.b,y.c);
}
为什么我的输出是
Union x: 1101791232 21.500000
Union y: 100 d 0.000000
m****i
发帖数: 712
44
来自主题: Programming版 - array allocation in c
#include
int main()
{
int n;
scanf("%d",&n);
int a[n];
int i;
for(i=0;i {
a[i] = i;
printf ("%d ",a[i]);
}
return 1;
}
This code work,
But the compiler only know how big the array on run-time....
how the compiler allocate the array on stack during compile time?
b*********n
发帖数: 1258
45
想要用qsort来sort一个char array, code如下,但是seg fault
不知道为什么,大家指点一下
#include
#include
#include
char* inString = "ncdoscndisoc";
int compare (const void* a, const void* b)
{
return ((*(char*)a) - (*(char*)b) );
}
int main ()
{
qsort (inString, 12, sizeof(char), compare);
for (int n=0; n<12; n++)
printf ("%c ",inString[n]);
return 0;
}
l*******r
发帖数: 1
46
来自主题: Programming版 - 紧急求助,C语言面试题
下面的modString() 函数是干什么的?
有什么问题?
如何改正?
#include
#include
#include
#include
#include
typedef int int32;
typedef char int8;
void xorStringRounds(int8 *output, int8 *pbDataOne, const int8 *pbDataTwo
, int32 length)
{
int32 i = 0;
for(i=0; i {
output[i] = (int8)(pbDataOne[i] ^ pbDataTwo[i]);
}
return;
}
void itoa( int32 num, int8 *alpha, int32 radix )
{
if( radix == 10 )
{
sprintf(alpha,
t*********n
发帖数: 278
47
来自主题: Programming版 - code question
the sample from programming pearls. But, I got complier error at this line
qsort(a, n, sizeof(char *), pstrcmp). How can I fix this one? Thanx.
#include
#include
#include
int pstrcmp(char **p, char **q)
{ return strcmp(*p, *q); }
#define MAXN 5000000
char c[MAXN], *a[MAXN];
int main()
{ int i, ch, n = 0, maxi, maxlen = -1;
while ((ch = getchar()) != EOF) {
a[n] = &c[n];
c[n++] = ch;
}

c[n] = 0;
qsort(a, n, sizeof(char *), pstrcmp);
}
P********e
发帖数: 2610
48
来自主题: Programming版 - 一道c++的考古题
run this on g++
#include "stdio.h"
#include
int main()
{
int i=2;
if( -10*abs (i-1) == 10*abs(i-1) )
printf ("OMG,-10==10 in linux!\n");
else
printf ("nothing special here\n");
return 0;
}
z******i
发帖数: 59
49
来自主题: Programming版 - 请教 C++的一个困惑 (operator delete)
You don't define "delete" operator be virtual. You make destructor virtual.
See below.
#include
#include
using namespace std;
class A
{
public:
virtual ~A()
{
cout << "I am A\n";
}
//void operator delete(void* p, size_t size){cout << size << endl;};
private:
int k;
};
class B:public A
{
public:
virtual ~B()
{
cout << "I am B\n";
}
//void operator delete(void* p, size_t size){cout << size<
f******e
发帖数: 164
50
【 以下文字转载自 Linux 讨论区 】
发信人: francise (小飞猫), 信区: Linux
标 题: 奇怪的问题:关于一个简单的malloc()小程序
发信站: BBS 未名空间站 (Sun Mar 30 17:43:48 2008)
我写了一段小程序:
#include
#include
int main(int argc, char *argv[]){
char *buffer;
int num_byte;
num_byte = atoi(argv[1])*1024;
while(1)
{buffer=malloc(num_byte);
free(buffer);
}
}
然后我用
strace ./code 126
结果是:
....
brk(0) = 0x804965c
brk(0x8068e74) = 0x8068e74
brk(0x8069000) = 0x8069000
(Nothing further)
为什么只有有限的几个brk()?
问题是,我的程序明明是无限循环啊
首页 上页 1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)