banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix cho hỏi về cách biên dịch C trong linux  XML
  [Programming]   cho hỏi về cách biên dịch C trong linux 20/06/2007 11:10:10 (+0700) | #1 | 65804
emdotit
Member

[Minus]    0    [Plus]
Joined: 10/03/2007 21:33:44
Messages: 31
Offline
[Profile] [PM]
sao em soạn một một bài tập =C trong Text Editor sau dó em lưu là simple.c
và em vào của sổ console và gỏ ./simple nó báo là bash: /simple: No such file or diectory
là sao vậy mấy anh
vậy muốn nó chạy thì ta dùng lệnh gì trong console
[Up] [Print Copy]
  [Question]   cho hỏi về cách biên dịch C trong linux 20/06/2007 11:57:01 (+0700) | #2 | 65811
[Avatar]
K4i
Moderator

Joined: 18/04/2006 09:32:13
Messages: 635
Location: Underground
Offline
[Profile] [PM]
compile chưa mà đòi chạy ngay thế hả giời smilie
Sống là để không chết chứ không phải để trở thành anh hùng
[Up] [Print Copy]
  [Question]   cho hỏi về cách biên dịch C trong linux 21/06/2007 11:42:56 (+0700) | #3 | 65981
mfeng
Researcher

Joined: 29/10/2004 15:16:29
Messages: 243
Offline
[Profile] [PM]
Nếu biên dịch bằng gcc, bạn dùng dòng lệnh sau:
Code:
gcc -osimple simple.c

Tùy chọn -o chỉ định file compiled ra là simple, thay vì tên file mặc định là a.out

Để chạy chương trình vừa biên dịch, dùng lệnh sau:
Code:
./simple
[Up] [Print Copy]
  [Question]   Re: cho hỏi về cách biên dịch C trong linux 23/06/2007 00:36:13 (+0700) | #4 | 66295
emdotit
Member

[Minus]    0    [Plus]
Joined: 10/03/2007 21:33:44
Messages: 31
Offline
[Profile] [PM]
em làm như anh và dc rồi thanks
nhưng còn các bài về socket em coppy trong tài liệu ra nhưng compile có báo lỗi mãi là sao
các anh chạy thử doạn này với (cái này em coppy trong tài liệu)

/* dgramsrvr.c:
*
* Example datagram server:
*/
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
/*
* This function reports the error and
* exits back to the shell:
*/
static void
bail(const char *on_what) {
fputs(strerror(errno),stderr);
fputs(“: ”,stderr);
fputs(on_what,stderr);
fputc(‘\n’,stderr);
exit(1);
}
int
main(int argc,char **argv) {
int z;
char *srvr_addr = NULL;
struct sockaddr_in adr_inet;/* AF_INET */
struct sockaddr_in adr_clnt;/* AF_INET */
int len_inet; /* length */
int s; /* Socket */
char dgram[512]; /* Recv buffer */
char dtfmt[512]; /* Date/Time Result */
time_t td; /* Current Time and Date */
struct tm tm; /* Date time values */
/*
* Use a server address from the command
* line, if one has been provided.
* Otherwise, this program will default
* to using the arbitrary address
* 127.0.0.23:
*/
if ( argc >= 2 ) {
/* Addr on cmdline: */
srvr_addr = argv[1];
} else {
/* Use default address: */
srvr_addr = “127.0.0.23”;
}
/*
* Create a UDP socket to use:
*/
s = socket(AF_INET,SOCK_DGRAM,0);
if ( s == -1 )
bail(“socket()”);
/*
* Create a socket address, for use
* with bind(2):
*/
memset(&adr_inet,0,sizeof adr_inet);
adr_inet.sin_family = AF_INET;
adr_inet.sin_port = htons(9090);
adr_inet.sin_addr.s_addr =
inet_addr(srvr_addr);
if ( adr_inet.sin_addr.s_addr == INADDR_NONE )
bail(“bad address.”);
len_inet = sizeof adr_inet;
/*
* Bind a address to our socket, so that
* client programs can contact this
* server:
*/
z = bind(s,
(struct sockaddr *)&adr_inet,
len_inet);
if ( z == -1 )
bail(“bind()”);
/*
* Now wait for requests:
*/
for (;smilie {
/*
* Block until the program receives a
* datagram at our address and port:
*/
len_inet = sizeof adr_clnt;
z = recvfrom(s, /* Socket */
dgram, /* Receiving buffer */
sizeof dgram, /* Max recv buf size */
0, /* Flags: no options */
(struct sockaddr *)&adr_clnt,/* Addr */
&len_inet); /* Addr len, in & out */
if ( z < 0 )
bail(“recvfrom(2)”);
/*
* Process the request:
*/
dgram[z] = 0; /* null terminate */
if ( !strcasecmp(dgram,“QUIT”) )
break; /* Quit server */
/*
* Get the current date and time:
*/
time(&td); /* Get current time & date */
tm = *localtime(&td); /* Get components */
/*
* Format a new date and time string,
* based upon the input format string:
*/
strftime(dtfmt, /* Formatted result */
sizeof dtfmt, /* Max result size */
dgram, /* Input date/time format */
&tm); /* Input date/time values */
/*
* Send the formatted result back to the
* client program:
*/
z = sendto(s, /* Socket to send result */
dtfmt, /* The datagram result to snd */
strlen(dtfmt), /* The datagram lngth */
0, /* Flags: no options */
(struct sockaddr *)&adr_clnt,/* addr */
len_inet); /* Client address length */
if ( z < 0 )
bail(“sendto(2)”);
}
/*
* Close the socket and exit:
*/
close(s);
return 0;
}
[Up] [Print Copy]
  [Question]   cho hỏi về cách biên dịch C trong linux 23/06/2007 01:20:14 (+0700) | #5 | 66308
rcrackvn
Elite Member

[Minus]    0    [Plus]
Joined: 27/03/2007 02:04:05
Messages: 42
Offline
[Profile] [PM]
chết cười với cái code trên

/* begin of my comment-whoring */
* the following few lines are there to serve only one purpose: wasting precious internet resource

- "127.0.0.23" chắc hẳn làm code mình "cool" hơn và type nhanh hơn "127.0.0.1"
- không có khái niệm gì về perror(), viết nguyên cái 'static void bail' smilie, sử dụng 1 hàm anh em với perror() là strerror()
- author là comment-whore, comment ngay cả những thứ hiển nhiên. close(s) cũng đi comment là "Close the socket and exit" smilie. Nếu e-paper được làm từ e-tree thì ku này mang tội hủy hoại e-tree smilie
-

[Up] [Print Copy]
  [Question]   cho hỏi về cách biên dịch C trong linux 23/06/2007 01:38:57 (+0700) | #6 | 66315
emdotit
Member

[Minus]    0    [Plus]
Joined: 10/03/2007 21:33:44
Messages: 31
Offline
[Profile] [PM]
[quote=rcrackvn]chết cười với cái code trên

/* begin of my comment-whoring */
* the following few lines are there to serve only one purpose: wasting precious internet resource

- "127.0.0.23" chắc hẳn làm code mình "cool" hơn và type nhanh hơn "127.0.0.1"
- không có khái niệm gì về perror(), viết nguyên cái 'static void bail' smilie, sử dụng 1 hàm anh em với perror() là strerror()
- author là comment-whore, comment ngay cả những thứ hiển nhiên. close(s) cũng đi comment là "Close the socket and exit" smilie. Nếu e-paper được làm từ e-tree thì ku này mang tội hủy hoại e-tree smilie
-

[/quote] là sao? anh co the explain kĩ hơn dc không . cái code này em coppy trong ebook linux socket programming trong thư viên hva nhưng em không hiểu lắm
mong các anh giúp đỡ
[Up] [Print Copy]
  [Question]   cho hỏi về cách biên dịch C trong linux 23/06/2007 04:10:58 (+0700) | #7 | 66339
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]

emdotit wrote:

là sao? anh co the explain kĩ hơn dc không . cái code này em coppy trong ebook linux socket programming trong thư viên hva nhưng em không hiểu lắm
mong các anh giúp đỡ
 

Tớ có vài lời góp ý:
1. Bạn nên gõ tiếng Việt cho hoàn chỉnh
2. copy chứ không phải là coppy
3. Không nên copy code ở đâu đó rồi paste vào và chạy thử. Nên đọc để hiểu nó và tự code
Let's build on a great foundation!
[Up] [Print Copy]
  [Programming]   cho hỏi về cách biên dịch C trong linux 28/09/2009 07:04:31 (+0700) | #8 | 194193
nevermind_
Member

[Minus]    0    [Plus]
Joined: 14/07/2009 18:31:29
Messages: 4
Offline
[Profile] [PM]

mfeng wrote:
Nếu biên dịch bằng gcc, bạn dùng dòng lệnh sau:
Code:
gcc -osimple simple.c

Tùy chọn -o chỉ định file compiled ra là simple, thay vì tên file mặc định là a.out

Để chạy chương trình vừa biên dịch, dùng lệnh sau:
Code:
./simple
 
e cũng làm thế sao không được smilie smilie ?e để bài tập ở ổ D(trước dùng Win e để ở đấy)bi h dùng Ubuntu ,muốn biên dịch rồi chạy nhưng vẫn bị như thế .nó vẫn viết "no such files...."Các bác cho e hỏi có phải để mấy file .c ở đâu không thì mới chạy?e gà chả hỉu j cả.thanks các bác trước smilie smilie smilie
[Up] [Print Copy]
  [Programming]   cho hỏi về cách biên dịch C trong linux 28/09/2009 07:20:03 (+0700) | #9 | 194196
nevermind_
Member

[Minus]    0    [Plus]
Joined: 14/07/2009 18:31:29
Messages: 4
Offline
[Profile] [PM]
[code]trungbis@ubuntu:~$ pwd
/home/trungbis
trungbis@ubuntu:~$ cd ~/Desktop
trungbis@ubuntu:~/Desktop$ ls
Co-ua.mp3 linux songbird_1.1.2-1~getdeb1_i386.deb
install_flash_player_10_linux.deb simple.C
trungbis@ubuntu:~/Desktop$ gcc -o simple simple.c
gcc: simple.c: No such file or directory
gcc: no input files
trungbis@ubuntu:~/Desktop$
bác nào giải thích hộ e với smilie smilie
[Up] [Print Copy]
  [Programming]   cho hỏi về cách biên dịch C trong linux 28/09/2009 07:34:16 (+0700) | #10 | 194199
[Avatar]
tuantub
Member

[Minus]    0    [Plus]
Joined: 15/08/2006 06:45:48
Messages: 81
Offline
[Profile] [PM]

nevermind_ wrote:
[code]trungbis@ubuntu:~$ pwd
/home/trungbis
trungbis@ubuntu:~$ cd ~/Desktop
trungbis@ubuntu:~/Desktop$ ls
Co-ua.mp3 linux songbird_1.1.2-1~getdeb1_i386.deb
install_flash_player_10_linux.deb simple.C
trungbis@ubuntu:~/Desktop$ gcc -o simple simple.c
gcc: simple.c: No such file or directory
gcc: no input files
trungbis@ubuntu:~/Desktop$
bác nào giải thích hộ e với smilie smilie
 


chú ý :
simple.C!=simple.c
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|