Chinaunix首页 | 论坛 | 博客
  • 博客访问: 385343
  • 博文数量: 81
  • 博客积分: 1290
  • 博客等级: 中尉
  • 技术积分: 821
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-17 07:48
个人简介

Just do IT.

文章分类

全部博文(81)

分类: LINUX

2011-11-30 22:57:51

嵌入式大哥 17:43:30

内存

潇飞 21:35:42

内存????

 

嵌入式大哥 21:36:47

是啊

潇飞 21:37:02

?????/

嵌入式大哥 21:37:19

那你认为是什么?

潇飞 21:37:46

什么是什么??

嵌入式大哥 21:37:57

有个程序,你帮我看看为什么错了

嵌入式大哥 21:37:59

怎么样

嵌入式大哥 21:38:22

很简单的程序,看看你c语言练得怎么样了

潇飞 21:39:00

我程序还差很远呢。什么程序啊??、

嵌入式大哥 21:39:28

你不自信算了

嵌入式大哥 21:39:32

很简单的程序

嵌入式大哥 21:39:37

链表你学过吧

潇飞 21:39:39

好好好,我看看

潇飞 21:39:50

就会点

嵌入式大哥 21:39:55

你会调试吗

嵌入式大哥 21:40:01

vc,或者vs

潇飞 21:40:21

vc我按到虚拟机里了

嵌入式大哥 21:40:29

那算了

潇飞 21:40:51

没事,我可以打开啊。什么程序

潇飞 21:41:50

什么程序啊????

潇飞 21:42:25

我很想看看是什么程序能难倒我心里的偶像

嵌入式大哥 21:43:56

我也是个菜鸟

嵌入式大哥 21:44:18

很简单的

潇飞 21:44:25

究竟是什么程序啊

嵌入式大哥 21:44:45

struct node

{

int number

node *next;

};

node *create_lianbiao(node *head)//创建链表的函数

{

node *p,*q;

p=q=(node *)malloc(sizeof(node));

scanf("%d",&p->number);

p->next=NULL;

while(p->number>0)

{

if(head==NULL)

{

head=p;

}

else

{

q->next=p;

q=p;

}

p=(node *)malloc(sizeof(node));

p->next=NULL;

scanf("%d",&p->number);

}

return head;

}

main函数是这样的

int main(int argc,char *argv[])

{

  node *head=NULL;

head=create_lianbiao(head);

}

我执行程序,输入1,然后2,然后-1create_lianbiao返回,之后head得到返回值,可是为什么head还是null呢?

我无语了

嵌入式大哥 21:45:08

那段时间用这个程序,一点问题都没有,今天就不行了,无语了

潇飞 21:46:13

在哪上面运行的啊

嵌入式大哥 21:46:25

你直接看把

潇飞 21:46:29

vclinux有时不一样

嵌入式大哥 21:46:33

等你运行出来,天都黑了

嵌入式大哥 21:46:45

天已经黑了,

嵌入式大哥 21:51:00

搞定了

嵌入式大哥 21:51:12

不是这些问题

潇飞 21:51:20

这么快,怎么回事?、

嵌入式大哥 21:51:43

是我的下面的一个函数出了问题

嵌入式大哥 21:52:02

是个低级错误

嵌入式大哥 21:52:08

上面的程序没问题

潇飞 21:52:38

什么错误啊?

嵌入式大哥 21:52:56

低级错误

嵌入式大哥 21:53:02

没什么可说的

嵌入式大哥 21:53:13

内存泄露你知道吗

潇飞 21:53:29

内存溢出??

潇飞 21:54:09

跟内存溢出什么区别??

嵌入式大哥 21:54:42

溢出是因为数组越界

潇飞 21:55:01

那泄露什么意思??

嵌入式大哥 21:54:59

泄露是浪费了内存,

嵌入式大哥 21:55:06

漏掉了,所以浪费了

潇飞 21:55:17

嵌入式大哥 21:55:19

看来你水平不行啊

嵌入式大哥 21:55:26

去华为,人家不会要你的

潇飞 21:55:37

嗯,

潇飞 21:55:39

潇飞 21:55:54

编程落下了

嵌入式大哥 21:55:59

跟我上学的时候一样

嵌入式大哥 21:56:21

最近忙什么

潇飞 21:56:40

实验室买了个arm

潇飞 21:56:45

在玩

嵌入式大哥 21:57:28

你搞硬件开发吗

嵌入式大哥 21:57:39

模电很重要

潇飞 21:58:13

我想做硬件开发的软件部分

潇飞 21:58:36

就像写驱动

嵌入式大哥 21:59:22

那还得学好硬件

嵌入式大哥 21:59:41

写驱动,你不懂c语言?

潇飞 21:59:59

C语言挺差劲的

潇飞 22:00:56

你写的那写程序是干嘛的啊

嵌入式大哥 22:01:19

你记好啊

嵌入式大哥 22:01:33

我跟你说几个问题,你弄明白

潇飞 22:01:39

好的

嵌入式大哥 22:01:49

我也工作半年了,知道什么有用,什么没用

潇飞 22:01:54

嵌入式大哥 22:02:02

1  内存泄露搞明白

嵌入式大哥 22:02:13

如何避免内存泄露

嵌入式大哥 22:02:26

2 链表的建立插入删除

嵌入式大哥 22:02:49

写出来第二个,就知道如何动态分配内存,如何避免内存泄露了

嵌入式大哥 22:03:04

3 二叉树的建立,遍历等

嵌入式大哥 22:03:30

第三条,是大公司必须要要求会的,比如淘宝,华为,腾讯什么的

嵌入式大哥 22:03:41

你学嵌入式开发很有前途,

嵌入式大哥 22:04:02

你要争取把OS内核写出来,毕业之前

嵌入式大哥 22:04:25 
写一个简单的操作系统就行,可以看看自己动手写操作系统那本书
嵌入式大哥 22:04:58 
弄懂了操作系统的源码太有用了,尤其是上面的那三个大公司,非常喜欢要这样的人
潇飞 22:05:51 
操作系统从linux还是从ucosii入手呢?
嵌入式大哥 22:06:04 
那些你学不会的
嵌入式大哥 22:06:07 
没法入手
潇飞 22:06:20 
那怎么学操作系统
嵌入式大哥 22:06:29 
你看自己动手写操作系统,或者一个操作系统的实现
嵌入式大哥 22:06:48 
那本书,从引导程序开始写
潇飞 22:07:07 
学操作系统的先会移植os
嵌入式大哥 22:07:10 
i386
汇编
潇飞 22:07:34 
汇编也得会啊
嵌入式大哥 22:07:38 
移植有什么用
嵌入式大哥 22:07:41 
废话,
嵌入式大哥 22:07:59 
你都学了这么长时间了,好像什么都不会啊
嵌入式大哥 22:08:07 

潇飞 22:08:12 
嗯,差不多
潇飞 22:08:30 
刚看完单片机的汇编
潇飞 22:10:10 
那块arm的板子怎么利用呢该?、
潇飞 22:10:34 
500
大元买的
嵌入式大哥 22:11:10 
我也买过,
嵌入式大哥 22:11:18 
最后我总结认为,没用
嵌入式大哥 22:11:25 
买板子学不到什么的
嵌入式大哥 22:11:39 
硬件开发,一块板子能做什么东西
嵌入式大哥 22:11:53 
是需要很多模块的
嵌入式大哥 22:11:59 
后来给我一个哥们了
嵌入式大哥 22:12:01 
他喜欢
嵌入式大哥 22:12:05 
我就给他了
潇飞 22:12:31 
我想先从移植操作系统开始呢,吧操作系统移植上去
潇飞 22:12:59 
还有启动代码
潇飞 22:13:08 
bootloader
嵌入式大哥 22:13:21 
那你慢慢移植把
嵌入式大哥 22:13:24 
没用的
潇飞 22:14:08 
那怎么办呢?、
嵌入式大哥 22:14:25 
我推荐你去找公司实习吧
嵌入式大哥 22:14:38 
你在学校里那点东西,很难拿出手的
潇飞 22:14:40 
什么公司??
嵌入式大哥 22:14:50 
去软件公司,或者电子方面的
嵌入式大哥 22:15:04 
别浪费时光了
嵌入式大哥 22:15:27 
你跟你老师做出什么了
嵌入式大哥 22:15:31 
有什么项目
嵌入式大哥 22:15:37 
你开发过什么软件啊
潇飞 22:15:54 
还是那个。有加上了GSM
嵌入式大哥 22:16:12 
说说你的软件
嵌入式大哥 22:16:19 
怎么做的,用到什么技术
潇飞 22:16:45 
温湿度采集
潇飞 22:16:51 
数据传输
潇飞 22:16:58 
无线数据传输
潇飞 22:17:13 
GSM
手机短信
嵌入式大哥 22:17:39 
对数据怎么储存的
嵌入式大哥 22:17:44 
怎么展示的
嵌入式大哥 22:17:52 
有没有多线程
潇飞 22:17:57 
用的vb
潇飞 22:19:12 
vb
数据展示,access数据存储
潇飞 22:19:23 
不过是老师做的
嵌入式大哥 22:21:13 
你做了什么
潇飞 22:21:42 
我做的就是复制粘贴
嵌入式大哥 22:21:59 
那怎么办啊
嵌入式大哥 22:22:04 
不行啊,这样
嵌入式大哥 22:22:15 
老弟,你这样毕业了,怎么找工作
潇飞 22:22:48 
现在都乱了,感觉好多要学。无从入手

潇飞 22:23:06 
整天还瞎忙
嵌入式大哥 22:23:41 
我当时也跟你一样
嵌入式大哥 22:23:50 
跟了个老师,基础不行
嵌入式大哥 22:23:58 
后来,我直接不跟了,自己学了
嵌入式大哥 22:24:08 
先打好基础才行啊
嵌入式大哥 22:24:21 
你还是好好自学吧,别去找你老师了
潇飞 22:24:45 
你不找他,老师光找你
潇飞 22:25:07 
老师有好多项目
嵌入式大哥 22:25:29 
你大几了
潇飞 22:25:48 
就当块毕业了吧
嵌入式大哥 22:27:29 
我最近写了个程序,你再看看,能看懂吗
潇飞 22:27:44 
好吧
潇飞 22:27:57 
你刚才那程序是干吗的
嵌入式大哥 22:28:13 
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 );

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}


if ( LOBYTE( wsaData.wVersion ) != 1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return; 
}
SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);

SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);

bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
hMutex=CreateMutex(NULL,FALSE,NULL);
listen(sockSrv,5);

SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);

while(1)
{
SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
RECVPARAM *pRecvParam=new RECVPARAM;
pRecvParam->sock=sockConn;
HANDLE hThread=CreateThread(NULL,0,recvProc,(LPVOID)pRecvParam,0,NULL);
CloseHandle(hThread);
}
}
DWORD WINAPI recvProc(LPVOID lpParameter)
{
SOCKET sock=((RECVPARAM*)lpParameter)->sock;
SOCKET friSock=0;
delete lpParameter;
char recvBuf[2][25];
memset(recvBuf,sizeof(recvBuf),0);
int number=0;
int friendnumber=0;
int retVal=recv(sock,&recvBuf[0][0],50,0);
number=atoi(recvBuf[0]);
friendnumber=atoi(recvBuf[1]);
WaitForSingleObject(hMutex,INFINITE);
if(find_sock_list(loginUser,number)==TRUE)
{
send(sock,"
账号在异地已经登录",strlen("账号在异地已经登录")+1,0);
return 0;
}
ReleaseMutex(hMutex);
send(sock,"
登录服务器成功",strlen("登录服务器成功")+1,0);
WaitForSingleObject(hMutex,INFINITE);
loginUser=add_user_list(loginUser,sock,number,friendnumber);
printf("
用户%d上线\n",number);
printf("
在线人数:%d\n",getlength_user_list(loginUser));
ReleaseMutex(hMutex);
char recvFriendBuf[200];
int len=0;
int i=0;
while(1)
{
memset(recvFriendBuf,sizeof(recvFriendBuf),'\0');
retVal=recv(sock,recvFriendBuf,strlen(recvFriendBuf)+1,0);
if(retVal==SOCKET_ERROR)
{
WaitForSingleObject(hMutex,INFINITE);
loginUser=delete_user_list(loginUser,number);
ReleaseMutex(hMutex);
break;
}
WaitForSingleObject(hMutex,INFINITE);
friSock=find_user_list(loginUser,friendnumber);
ReleaseMutex(hMutex);
KString sendFriendStr(recvFriendBuf);
int length=sendFriendStr.length();
int zijie=send(friSock,sendFriendStr.m_str,length,0);
sendFriendStr.deleteStr();
}
closesocket(sock);
printf("
用户%d已经下线\n",number);
WaitForSingleObject(hMutex,INFINITE);
printf("
在线人数:%d\n",getlength_user_list(loginUser));
ReleaseMutex(hMutex);
return 0;
}
嵌入式大哥 22:28:38 
刚才那是一个链表建立的函数
嵌入式大哥 22:28:51 
我在做一个即时通讯软件
嵌入式大哥 22:29:04 
将登陆的用户用链表链接起来
嵌入式大哥 22:29:22 
然后可以通过链表进行统计,删除,增加
潇飞 22:29:28 
有什么协议吗????
嵌入式大哥 22:29:31 
统计在线用户
潇飞 22:29:37 
通讯协议
嵌入式大哥 22:29:39 
socket
嵌入式大哥 22:29:48 
tcp IP
协议
潇飞 22:30:19 
tcp IP
协议好几本书呢
嵌入式大哥 22:30:38 
多线程,你看到了吗
嵌入式大哥 22:30:48 
互斥对象
潇飞 22:30:56 
不懂
嵌入式大哥 22:31:05 
windows
编程一点没学吗
潇飞 22:31:09 

潇飞 22:31:21 
操作系统还不懂呢
嵌入式大哥 22:31:36 

潇飞 22:32:17 

嵌入式大哥 22:32:29 

嵌入式大哥 22:32:41 
我觉得你要完了
嵌入式大哥 22:32:49 
你也学了至少一年了
嵌入式大哥 22:33:13 
你这是混日子
潇飞 22:33:21 
是,要完了,什么不懂
嵌入式大哥 22:33:37 
就算嵌入式,c++windows编程什么的,都要会的
嵌入式大哥 22:33:52 
好自为之吧
潇飞 22:34:22 

嵌入式大哥 22:34:21 
你再搞单片机移植什么的,我看要完蛋
潇飞 22:35:02 
什么移植,其实就是复制粘贴,在复制再粘贴
潇飞 22:39:25 

嵌入式大哥 22:40:01 
要不放弃?
嵌入式大哥 22:40:20 
你基本没入门
潇飞 22:40:42 
嗯,
潇飞 22:42:41 

嵌入式大哥 22:43:31 

嵌入式大哥 22:43:54 
老弟
潇飞 22:44:01 

嵌入式大哥 22:44:24 
放下包袱,先学好软件把
潇飞 22:44:37 

潇飞 22:45:01 

嵌入式大哥 22:45:28 
你别学嵌入式了
嵌入式大哥 22:45:33 
还是学好软件把
嵌入式大哥 22:45:43 
有了嵌入式的基础
嵌入式大哥 22:45:48 
很有帮助的
嵌入式大哥 22:46:07 
就说到这里
嵌入式大哥 22:46:12 
你自己想想吧
潇飞 22:46:52 

阅读(1881) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~