Just do IT.
分类: 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,然后-1,create_lianbiao返回,之后head得到返回值,可是为什么head还是null呢?
我无语了
嵌入式大哥 21:45:08
那段时间用这个程序,一点问题都没有,今天就不行了,无语了
潇飞 21:46:13
在哪上面运行的啊
嵌入式大哥 21:46:25
你直接看把
潇飞 21:46:29
vc跟linux有时不一样
嵌入式大哥 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