编译环境:ubuntu下用Eclipse
编译过程:1.building project:file->new->c project->project name->linux GCC->finish
2.building file:file->new->source file->soure file name by the end of .c->finish
3.editing programing
4.ctrl+s
5.compile and link( label hammer)
6.running
调程序单步执行:1、点击那个虫子样子的按钮。2、按F5就是一层层深入的debug相当于剥葱样,按F6就是一步步debug,不理会深层次运作,按F7就是不管当前位置有多深,都跳转到断点设置的那一层代码,按F8就是停止debug,运行完程序。
Ctrl+shift+f :使代码自动对齐
详解ls1.c
#include<stdio.h>
#include<sys/types.h>
#include<dirent.h>
void do_ls(char dirname[]);
main(int ac, char *av[])
{
if ( ac == 1 )
do_ls( "." );
else
while ( --ac ){
printf("%s:\n",*++av);
do_ls( *av );
}
}
void do_ls( char dirname[] )
/*
* list files in directory called dirname
*/
{
DIR *dir_ptr; /* the directory */
struct dirent *direntp; /* each entry */
if ( ( dir_ptr = opendir( dirname ) ) == NULL )//opendir:打开一个目录,返回指向目录的指针
fprintf(stderr,"ls1: cannot open %s\n", dirname);
else
{
while ( ( direntp = readdir( dir_ptr ) ) != NULL )//返回指针给结构体direntp,使之指向下一个目录
printf("%s\n", direntp->d_name );
closedir(dir_ptr);
}
}
#include<sys/types.h>
#include<dirent.h>
void do_ls(char dirname[]);
main(int ac, char *av[])
{
if ( ac == 1 )
do_ls( "." );
else
while ( --ac ){
printf("%s:\n",*++av);
do_ls( *av );
}
}
void do_ls( char dirname[] )
/*
* list files in directory called dirname
*/
{
DIR *dir_ptr; /* the directory */
struct dirent *direntp; /* each entry */
if ( ( dir_ptr = opendir( dirname ) ) == NULL )//opendir:打开一个目录,返回指向目录的指针
fprintf(stderr,"ls1: cannot open %s\n", dirname);
else
{
while ( ( direntp = readdir( dir_ptr ) ) != NULL )//返回指针给结构体direntp,使之指向下一个目录
printf("%s\n", direntp->d_name );
closedir(dir_ptr);
}
}