| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4329 人关注过本帖
标题:C语言中如何使用系统调用???
只看楼主 加入收藏
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
回复 7楼 wp231957
我在学Linux时老师讲过的,windows是不开源的,我们能看到的只有他的应用程序接口和一部分他允许我们看到的。
Linux Unux是开源的,什么都能看到,

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-19 20:05
suishuhao
Rank: 2
等 级:论坛游民
帖 子:89
专家分:10
注 册:2012-9-25
收藏
得分:0 
以下是引用TonyDeng在2012-12-19 20:02:27的发言:

https://bbs.bccn.net/redirect.php?tid=391474&goto=lastpost#lastpost
看看12楼
版主您好!我是真想学,但不是计算机专业的,不知道怎么学。
我学习了谭浩强的《C程序设计》,又刚刚自学了《操作系统原理》,下一步该如何学习?给个参考书目什么的,谢谢!
2012-12-19 20:35
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
我觉得 应该先把c学到一定的深度  再议

当然闲暇时间阅读一些其他书籍也不反对

DO IT YOURSELF !
2012-12-19 20:37
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
给你讲解一下那个例子吧:
程序代码:
void SetCursorPosition(SHORT x, SHORT y)
{
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos = { x, y };
    SetConsoleCursorPosition(hOutput, pos);
}


这是在控制台cmd窗口设置光标位置的函数,类似TC中的gotoxy()。代码使用了2个API函数,GetStdHandle()和SetConsoleCursorPosition(),都是VC中现成的,只要#include "windows.h"(因为论坛的关系,这里不写尖括号,改用了双引号,以免显示帖子的时候丢失)即可。看函数的英文名字都可以猜到那是什么用途,前面那个是获取标准设备句柄,STD_OUTPUT_HANDLE是Windows API预定义的宏常数,表示“标准输出设备”,亦即旧系统中的stdout端口。中间的COORD也是Windows API预定义的数据结构,表示一个屏幕坐标,是一个结构体struct { short x; short y; }。最后的函数就是把上面的参数送出,把光标设定到指定的位置——向指定的设备发送、以及需要的坐标。这就是一系列API函数的调用,就是这样用法。

授人以渔,不授人以鱼。
2012-12-19 20:40
suishuhao
Rank: 2
等 级:论坛游民
帖 子:89
专家分:10
注 册:2012-9-25
收藏
得分:0 
以下是引用TonyDeng在2012-12-19 20:40:07的发言:

给你讲解一下那个例子吧:
 
void SetCursorPosition(SHORT x, SHORT y)
{
    HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos = { x, y };
    SetConsoleCursorPosition(hOutput, pos);
}


这是在控制台cmd窗口设置光标位置的函数,类似TC中的gotoxy()。代码使用了2个API函数,GetStdHandle()和SetConsoleCursorPosition(),都是VC中现成的,只要#include "windows.h"(因为论坛的关系,这里不写尖括号,改用了双引号,以免显示帖子的时候丢失)即可。看函数的英文名字都可以猜到那是什么用途,前面那个是获取标准设备句柄,STD_OUTPUT_HANDLE是Windows API预定义的宏常数,表示“标准输出设备”,亦即旧系统中的stdout端口。中间的COORD也是Windows API预定义的数据结构,表示一个屏幕坐标,是一个结构体struct { short x; short y; }。最后的函数就是把上面的参数送出,把光标设定到指定的位置——向指定的设备发送、以及需要的坐标。这就是一系列API函数的调用,就是这样用法。
谢谢,尽管没看懂。只有谭浩强的C程序设计的水平。
2012-12-19 20:54
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
简单地说,调用API就等于可使用的函数多了!比如printf()函数,是你经常用的,用惯了,就成了你内在的习惯,同样,API中的那些函数也不过是各种各样功能的函数而已,比如获取程序当前所在目录、复制或移动文件到指定位置、检查某个文件是否存在……等等,这些功能都有相应的函数,不用管那些函数是怎样来的,只要知道#include <windows.h>之后,这些函数就出现了,可用了。至于如何知道都有哪些函数,是要查阅资料的,Windows API当然是查MSDN,其实别的软件也有API,像Google地图之类,也提供了API,可以拿来用,怎么用,看它的参考手册,提供API的作者都有附带使用手册发行,不然别人是不知道如何使用的。

授人以渔,不授人以鱼。
2012-12-19 21:34
朱三哥
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:311
专家分:359
注 册:2012-12-11
收藏
得分:0 
回复 16楼 TonyDeng
看来你怒了

哥,破你无线很难的,不要老是改,少看路由器上的灯,你会死啊
2012-12-19 23:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
以下是引用朱三哥在2012-12-19 23:40:27的发言:

看来你怒了

说啥捏?

授人以渔,不授人以鱼。
2012-12-20 01:22
快速回复:C语言中如何使用系统调用???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043876 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved