RE: [linux-programming] mengenai pointer di C

2007-06-28 Terurut Topik Uno Tursadi
Biasanya kalau kita mo bikin variable array dengan ukuran yang dinamis Anda
harus menggunakan pointer.
Anda tidak bisa 
int ukuran;
ukuran = 5;
int age[ukuran];

Tapi kalau pake pointer bisa,
int ukuran;
ukuran = 5;
int *age;
age = new age[ukuran];

Alasan kedua, biasanya kalau kita mo bikin fungsi dengan salah parameter
input sebagai output ... harus pake pointer.
Tapi berdasarkan pengalaman lebih baik menggunakan reference.. lebih mudah
penggunaaan
Contoh

void tambah (int a, int b, int b)
{
b = a+b;
}


sori kalau sintax2 nya salah.. dah lama gak programming di c ...
tapi ngerti kan maksud gw.. :D


-Original Message-
From: Eko Hermiyanto [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, June 19, 2007 11:05 AM
To: linux-programming@linux.or.id
Subject: [linux-programming] mengenai pointer di C

Selamat siang,

Di C ada konsep variable(seperti juga di bahasa-bahasa lain). Variable
tersebut mempunyai nilai yang bersemayam di alamat memory tertentu. Kita
bisa mendapatkan dan memanipulasi nilai variable tersebut dengan
langsung assign nilai baru kepada variable itu.

Nah, selain cara diatas kita bisa mendapatkan dan memanipulasi variable
dengan pointer. 

Yang ingin saya tanyakan adalah kalau kita bisa memanage variable dengan
cara assigning variable biasa, kenapa kita harus memakai pointer.

Dibawah ini adalah kode-kode yang memakai pointer:
#include stdio.h

int calculation(int *firstNumber, int *secondNumber) {
  return(*firstNumber * *secondNumber);
}

int main() {
  int age = 23;
  int* agex = age;
  int ctr;
  int* ctrx = ctr;
  for(*ctrx = 0; *ctrx  10; *ctrx = *ctrx + 1) {
printf(%d\n, *agex);
*agex = *agex + 1;
  }
  int first = 10;
  int second = 100;
  int value = calculation(first, second);
  printf(%d\n, value);
  return(0);
}

Bukankah kode-kode diatas(yang hanya melakukan operasi sangat sederhana)
bisa dengan mudah dah terang kalo tanpa pointer? Mohon pencerahannya.


Thanks,
Eko Hermiyanto


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis



RE: [linux-programming] mengenai pointer di C

2007-06-28 Terurut Topik Uno Tursadi
Sedikit menambahkan, saya pernah experiment, di windows bukan di linux.
 
Membuat variable pointer dengan ukuran yang sangat besar. Missal
int *i;
i = new int [1];

satu integer berukuran 4 bytes jadi variable i kalo di isi semua akan
menghabiskan 400 MBytes.

Ternyata 400 MB itu diambil dari kapasitas hard disk. Ukuran hard disknya
berkurang sebanyak 400Mbytes.

Artinya pada saat kita membuat sebuah variable pointer. Variable tersebut
akan mengambil jatah byte yang ada di hard disk.
Dan setiap kali aplikasi menulis atau membaca variable tersebut, akan
mengakses data hard disk.

Harusnya jika sebuah aplikasi mengambil dan menulis ke hard disk akan lebih
lambat dibanding ke memory langsung.
Artinya, pointer lebih lambat dibanding memori langsung.

Bener gak??? 
Gak tau kalo di linux soalnya belum pernah nyoba.

CMIIW


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Sent: Thursday, June 28, 2007 5:53 PM
To: linux-programming@linux.or.id
Subject: Re: [linux-programming] mengenai pointer di C

kenapa pakai pointer ?

- pointer memberi fleksibilitas yang tinggi
- operasi dengan menggunakan pointer lebih cepat dan optimal
- operasi direct ke memory lebih mudah dengan pointer

semoga memberikan gambaran

-- dd

Uno Tursadi wrote:
 Biasanya kalau kita mo bikin variable array dengan ukuran yang dinamis
Anda
 harus menggunakan pointer.
 Anda tidak bisa 
 int ukuran;
 ukuran = 5;
 int age[ukuran];

 Tapi kalau pake pointer bisa,
 int ukuran;
 ukuran = 5;
 int *age;
 age = new age[ukuran];

 Alasan kedua, biasanya kalau kita mo bikin fungsi dengan salah satu
parameter
 input sebagai output ... harus pake pointer.
 Tapi berdasarkan pengalaman lebih baik menggunakan reference.. lebih mudah
 penggunaaan
 Contoh

 void tambah (int a, int b, int c)
 {
   c = a+b;
 }


 sori kalau sintax2 nya salah.. dah lama gak programming di c ...
 tapi ngerti kan maksud gw.. :D


 -Original Message-
 From: Eko Hermiyanto [mailto:[EMAIL PROTECTED] 
 Sent: Tuesday, June 19, 2007 11:05 AM
 To: linux-programming@linux.or.id
 Subject: [linux-programming] mengenai pointer di C

 Selamat siang,

 Di C ada konsep variable(seperti juga di bahasa-bahasa lain). Variable
 tersebut mempunyai nilai yang bersemayam di alamat memory tertentu. Kita
 bisa mendapatkan dan memanipulasi nilai variable tersebut dengan
 langsung assign nilai baru kepada variable itu.

 Nah, selain cara diatas kita bisa mendapatkan dan memanipulasi variable
 dengan pointer. 

 Yang ingin saya tanyakan adalah kalau kita bisa memanage variable dengan
 cara assigning variable biasa, kenapa kita harus memakai pointer.

 Dibawah ini adalah kode-kode yang memakai pointer:
 #include stdio.h

 int calculation(int *firstNumber, int *secondNumber) {
   return(*firstNumber * *secondNumber);
 }

 int main() {
   int age = 23;
   int* agex = age;
   int ctr;
   int* ctrx = ctr;
   for(*ctrx = 0; *ctrx  10; *ctrx = *ctrx + 1) {
 printf(%d\n, *agex);
 *agex = *agex + 1;
   }
   int first = 10;
   int second = 100;
   int value = calculation(first, second);
   printf(%d\n, value);
   return(0);
 }

 Bukankah kode-kode diatas(yang hanya melakukan operasi sangat sederhana)
 bisa dengan mudah dah terang kalo tanpa pointer? Mohon pencerahannya.


 Thanks,
 Eko Hermiyanto


   


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis



[linux-programming] fungsi header php untuk mengubah content type

2004-06-02 Terurut Topik Uno Tursadi

Dear all,

Saya mau tanya,saya menggunakan fungsi header seperti script di bawah
?
header('Content-type:text/vnd.wap.wml');
echo ('?xml version=1.0?');
echo('!DOCTYPE wml PUBLIC -//WAPFORUM//DTD WML 1.1//EN
http://www.wapforum.org/DTD/wml_1.1.xml;');
?
wml
card id=card1 title=test ahhh
This is not HeLLo World
/card
/wml

Kemudian saya tangkap header yang dikirim ke browser seperti berikut:

HTTP/1.0 200 OK
Date: Wed, 02 Jun 2004 10:48:50 GMT
Server: Apache-AdvancedExtranetServer/1.3.26 (Mandrake Linux/6mdk) PHP/4.2.3
X-Powered-By: PHP/4.2.3
Content-Type: text/html; charset=iso-8859-15

Artinya fungsi header('Content-type:text/vnd.wap.wml'); tidak mengubah
content-type.

Apakah ada yg pernah mengalami hal seperti ini?

Terima kasih banyak
Uno Tursadi




-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis.php



[linux-programming] java game

2003-09-30 Terurut Topik Uno Tursadi
Halo,
ada yang tau cara bikin game menggunakan java untuk Handphone?

Thanks
uno


-- 
Berhenti langganan: [EMAIL PROTECTED]
Arsip dan info: http://linux.or.id/milis.php



[linux-programming] mendapatkan ip addr dari mac addr

2003-08-14 Terurut Topik Uno Tursadi
Halo guys,
Ada yang tau cara mendapatkan ip address jika mac addressnya sudah diketahui dengan 
menggunakan gcc??

Thanks
Please. Don't go to hell


Re: [linux-programming] rpm php untuk rh 8.0 psyche

2003-08-14 Terurut Topik Uno Tursadi
sempat gak bisa connect tuh...
gak tau deh...
skrg baru bisa connect lagi...
mudah2an bisa terdownload dengan selamat...

- Original Message - 
From: Mohamad Alifikri [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, August 05, 2003 11:06 AM
Subject: Re: [linux-programming] rpm php untuk rh 8.0 psyche


 Dear Uno, :)
 udah cari di rpmfind.net blum... 
 atau di cdnya redhat pan biasanya disertakan.
 
 Salam,
 maf
 
 On Sel, 2003-08-05 at 08:59, Uno Tursadi wrote:
  Ada yang tau website yang menyediakan rpm php untuk rh 8.0 psyche
  
  thanks
  ---uno---
 
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[linux-programming] mac address sun

2003-07-31 Terurut Topik Uno Tursadi
Halo ada yang pernah tau cara mendapatkan mac address untuk SunOS 5.8 dengan 
menggunakan gcc.

Saya sudah mencoba dengan menggunakan code berikut tapi tidak berhasil.

/*
 * mac_addr_dlpi.c
 *
 * Return the MAC (ie, ethernet hardware) address by using the dlpi api.
 *
 * compile with: gcc -c -D OS mac_addr_dlpi.c
 * with OS is one of AIX, SunOS, HPUX 
 */

/***/
/* this section defines a list of the dlpi capable devices
 * this depends on the operating system
 */

#undef DLPI_DEV

#ifdef HPUX
static char *dlpi_dev[] = {/dev/dlpi, };
#define DLPI_DEV
#endif

#ifdef AIX
static char *dlpi_dev[] = {/dev/dlpi/et, /dev/dlpi/en, /dev/dlpi/tr, 
/dev/dlpi/fddi, };
#define DLPI_DEV
/* AIX: remember to set up /etc/pse.conf or /etc/dlpi.conf */
#endif

#ifdef SunOS
static char *dlpi_dev[] = {/dev/hme, /dev/ie, /dev/le, };
#define DLPI_DEV
#endif

#ifndef DLPI_DEV
static char *dlpi_dev[] = {/dev/dlpi, };
/* unknown OS - hope that this will work ??? */
#define DLPI_DEV
#endif

/***/
/* 
 * implementation 
 */

#define INSAP 22 
#define OUTSAP 24 

#include sys/types.h
#include fcntl.h
#include errno.h
#include stdio.h
#include string.h
#include signal.h
#include ctype.h
#include sys/stropts.h
#include sys/poll.h
#include sys/dlpi.h

#define bcopy(source, destination, length) memcpy(destination, source, length)

#define AREA_SZ 5000 /*­=­* buffer length in bytes *­=­*/ 
static u_long ctl_area[AREA_SZ];
static u_long dat_area[AREA_SZ];
static struct strbuf ctl = {AREA_SZ, 0, (char *)ctl_area};
static struct strbuf dat = {AREA_SZ, 0, (char *)dat_area};
#define GOT_CTRL 1 
#define GOT_DATA 2 
#define GOT_BOTH 3 
#define GOT_INTR 4 
#define GOT_ERR 128 

/*­=­* get a message from a stream; return type of message *­=­*/
static int get_msg(int fd)
{
int flags = 0;
int res, ret;
ctl_area[0] = 0;
dat_area[0] = 0;
ret = 0;
res = getmsg(fd, ctl, dat, flags);
if(res  0) {
if(errno == EINTR) {
return(GOT_INTR);
} else {
return(GOT_ERR);
}
}
if(ctl.len  0) {
ret |= GOT_CTRL;
}
if(dat.len  0) {
ret |= GOT_DATA;
}
return(ret);
}

/*­=­* verify that dl_primitive in ctl_area = prim *­=­*/
static int check_ctrl(int prim)
{
dl_error_ack_t *err_ack = (dl_error_ack_t *)ctl_area;
if(err_ack-dl_primitive != prim) {
return GOT_ERR;
}
return 0;
}

/*­=­* put a control message on a stream *­=­*/
static int put_ctrl(int fd, int len, int pri)
{
ctl.len = len;
if(putmsg(fd, ctl, 0, pri)  0) {
return GOT_ERR;
}
return  0;
}

/*­=­* put a control + data message on a stream *­=­*/
static int put_both(int fd, int clen, int dlen, int pri)
{
ctl.len = clen;
dat.len = dlen;
if(putmsg(fd, ctl, dat, pri)  0) {
return GOT_ERR;
}
return  0;
}

/*­=­* open file descriptor and attach *­=­*/
static int dl_open(const char *dev, int ppa, int *fd)
{
dl_attach_req_t *attach_req = (dl_attach_req_t *)ctl_area;
if((*fd = open(dev, O_RDWR)) == -1) {
return GOT_ERR;
}
attach_req-dl_primitive = DL_ATTACH_REQ;
attach_req-dl_ppa = ppa;
put_ctrl(*fd, sizeof(dl_attach_req_t), 0);
get_msg(*fd);
return check_ctrl(DL_OK_ACK);
}

/*­=­* send DL_BIND_REQ *­=­*/
static int dl_bind(int fd, int sap, u_char *addr)
{
dl_bind_req_t *bind_req = (dl_bind_req_t *)ctl_area;
dl_bind_ack_t *bind_ack = (dl_bind_ack_t *)ctl_area;
bind_req-dl_primitive = DL_BIND_REQ;
bind_req-dl_sap = sap;
bind_req-dl_max_conind = 1;
bind_req-dl_service_mode = DL_CLDLS;
bind_req-dl_conn_mgmt = 0;
bind_req-dl_xidtest_flg = 0;
put_ctrl(fd, sizeof(dl_bind_req_t), 0);
get_msg(fd);
if (GOT_ERR == check_ctrl(DL_BIND_ACK)) {
return GOT_ERR;
}
bcopy((u_char *)bind_ack + bind_ack-dl_addr_offset, addr,
bind_ack-dl_addr_length);
return 0;
}

/***/
/*
 * interface:
 * function mac_addr_dlpi - get the mac address of the first interface
 *
 * parameter: addr: an array of six bytes, has to be allocated by the caller
 *
 * return: 0 if OK, -1 if the address could not be determined
 *
 */

long mac_addr_dlpi ( u_char  *addr)
{
int fd;
int ppa;
u_char mac_addr[25];
int i;

char **dev;

for (dev = dlpi_dev; **dev != '\0'; ++dev) {
for (ppa=0; ppa10; ++ppa) {
if (GOT_ERR != dl_open(*dev, ppa, fd)) {
if (GOT_ERR != dl_bind(fd, INSAP, mac_addr)) {
bcopy( mac_addr, addr, 6);
return 0;
}
}
close(fd);
}
}
return -1;
}


/***/
/*
 * Main (only for testing)
 */
/*#ifdef MAIN*/
int main( int argc, char **argv)
{
long stat;
int i;
u_char 

Re: [linux-programming] mac address sun

2003-07-31 Terurut Topik Uno Tursadi
Sekedar informasi, saya sudah berhasil mendapatkan mac address untuk SunOS
5.8
Berikut adalah perubahan listing code-nya:

#ifdef SunOS
static char *dlpi_dev[] = {/dev/hme, /dev/ie, /dev/le, };
#define DLPI_DEV
#endif

DIUBAH MENJADI
#ifdef SunOS
static char *dlpi_dev[] = {/dev/eri, /dev/hme, /dev/ie, /dev/le,
};
#define DLPI_DEV
#endif

Sekian dan terima kasih
Semoga bermanfaat

uno

- Original Message -
From: Uno Tursadi [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, July 31, 2003 2:57 PM
Subject: [linux-programming] mac address sun


Halo ada yang pernah tau cara mendapatkan mac address untuk SunOS 5.8 dengan
menggunakan gcc.

Saya sudah mencoba dengan menggunakan code berikut tapi tidak berhasil.

/*
 * mac_addr_dlpi.c
 *
 * Return the MAC (ie, ethernet hardware) address by using the dlpi api.
 *
 * compile with: gcc -c -D OS mac_addr_dlpi.c
 * with OS is one of AIX, SunOS, HPUX
 */

/***/
/* this section defines a list of the dlpi capable devices
 * this depends on the operating system
 */

#undef DLPI_DEV

#ifdef HPUX
static char *dlpi_dev[] = {/dev/dlpi, };
#define DLPI_DEV
#endif

#ifdef AIX
static char *dlpi_dev[] = {/dev/dlpi/et, /dev/dlpi/en, /dev/dlpi/tr,
/dev/dlpi/fddi, };
#define DLPI_DEV
/* AIX: remember to set up /etc/pse.conf or /etc/dlpi.conf */
#endif

#ifdef SunOS
static char *dlpi_dev[] = {/dev/hme, /dev/ie, /dev/le, };
#define DLPI_DEV
#endif

#ifndef DLPI_DEV
static char *dlpi_dev[] = {/dev/dlpi, };
/* unknown OS - hope that this will work ??? */
#define DLPI_DEV
#endif

/***/
/*
 * implementation
 */

#define INSAP 22
#define OUTSAP 24

#include sys/types.h
#include fcntl.h
#include errno.h
#include stdio.h
#include string.h
#include signal.h
#include ctype.h
#include sys/stropts.h
#include sys/poll.h
#include sys/dlpi.h

#define bcopy(source, destination, length) memcpy(destination, source,
length)

#define AREA_SZ 5000 /*­=­* buffer length in bytes *­=­*/
static u_long ctl_area[AREA_SZ];
static u_long dat_area[AREA_SZ];
static struct strbuf ctl = {AREA_SZ, 0, (char *)ctl_area};
static struct strbuf dat = {AREA_SZ, 0, (char *)dat_area};
#define GOT_CTRL 1
#define GOT_DATA 2
#define GOT_BOTH 3
#define GOT_INTR 4
#define GOT_ERR 128

/*­=­* get a message from a stream; return type of message *­=­*/
static int get_msg(int fd)
{
int flags = 0;
int res, ret;
ctl_area[0] = 0;
dat_area[0] = 0;
ret = 0;
res = getmsg(fd, ctl, dat, flags);
if(res  0) {
if(errno == EINTR) {
return(GOT_INTR);
} else {
return(GOT_ERR);
}
}
if(ctl.len  0) {
ret |= GOT_CTRL;
}
if(dat.len  0) {
ret |= GOT_DATA;
}
return(ret);
}

/*­=­* verify that dl_primitive in ctl_area = prim *­=­*/
static int check_ctrl(int prim)
{
dl_error_ack_t *err_ack = (dl_error_ack_t *)ctl_area;
if(err_ack-dl_primitive != prim) {
return GOT_ERR;
}
return 0;
}

/*­=­* put a control message on a stream *­=­*/
static int put_ctrl(int fd, int len, int pri)
{
ctl.len = len;
if(putmsg(fd, ctl, 0, pri)  0) {
return GOT_ERR;
}
return  0;
}

/*­=­* put a control + data message on a stream *­=­*/
static int put_both(int fd, int clen, int dlen, int pri)
{
ctl.len = clen;
dat.len = dlen;
if(putmsg(fd, ctl, dat, pri)  0) {
return GOT_ERR;
}
return  0;
}

/*­=­* open file descriptor and attach *­=­*/
static int dl_open(const char *dev, int ppa, int *fd)
{
dl_attach_req_t *attach_req = (dl_attach_req_t *)ctl_area;
if((*fd = open(dev, O_RDWR)) == -1) {
return GOT_ERR;
}
attach_req-dl_primitive = DL_ATTACH_REQ;
attach_req-dl_ppa = ppa;
put_ctrl(*fd, sizeof(dl_attach_req_t), 0);
get_msg(*fd);
return check_ctrl(DL_OK_ACK);
}

/*­=­* send DL_BIND_REQ *­=­*/
static int dl_bind(int fd, int sap, u_char *addr)
{
dl_bind_req_t *bind_req = (dl_bind_req_t *)ctl_area;
dl_bind_ack_t *bind_ack = (dl_bind_ack_t *)ctl_area;
bind_req-dl_primitive = DL_BIND_REQ;
bind_req-dl_sap = sap;
bind_req-dl_max_conind = 1;
bind_req-dl_service_mode = DL_CLDLS;
bind_req-dl_conn_mgmt = 0;
bind_req-dl_xidtest_flg = 0;
put_ctrl(fd, sizeof(dl_bind_req_t), 0);
get_msg(fd);
if (GOT_ERR == check_ctrl(DL_BIND_ACK)) {
return GOT_ERR;
}
bcopy((u_char *)bind_ack + bind_ack-dl_addr_offset, addr,
bind_ack-dl_addr_length);
return 0;
}

/***/
/*
 * interface:
 * function mac_addr_dlpi - get the mac address of the first interface
 *
 * parameter: addr: an array of six bytes, has to be allocated by the caller
 *
 * return: 0 if OK, -1 if the address could not be determined
 *
 */

long mac_addr_dlpi ( u_char  *addr)
{
int fd;
int ppa;
u_char mac_addr[25];
int i;

char **dev;

for (dev

[linux-programming] memanggil fungsi di dll via php

2003-07-24 Terurut Topik Uno Tursadi
OOT:
Memanggil fungsi yang ada di dalam file dll (dibuat menggunakan visual c)
melalui script php atau asp bisa gak ya??
Ada yang pernah mencoba???



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [linux-programming] memanggil fungsi di dll via php

2003-07-24 Terurut Topik Uno Tursadi
Hmmm
bisa kasih contoh ato reference yang membahas tentang itu ???

Yup... gawe di glisten lokal punya 

Very Weight Thanks 

--- uno ---

- Original Message - 
From: How Long [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Thursday, July 24, 2003 6:15 PM
Subject: Re: [linux-programming] memanggil fungsi di dll via php


 pake asp bisa...
 kan asp seperti visual basic...
 objek2 visual basic bisa dipake di ASP..
  
 Kamu dari glisten? itu perusahaan jerman ya...
 
 Uno Tursadi [EMAIL PROTECTED] wrote:
 OOT:
 Memanggil fungsi yang ada di dalam file dll (dibuat menggunakan visual c)
 melalui script php atau asp bisa gak ya??
 Ada yang pernah mencoba???
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 
 -
 Do you Yahoo!?
 Yahoo! SiteBuilder - Free, easy-to-use web site design software



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[linux-programming] cari difftime in ms

2003-07-15 Terurut Topik Uno Tursadi
Ada yang tau menghitung different time dalam satuan mili second menggunakan gcc?
Saya sudah mencoba tapi hasilnya dalam satuan seconds

Berikut listing program saya:
time_t start, end;
double dif;
time(start);
process();
time(end);
dif = difftime(end, start);
printf(diff = %.2lf\n, dif)

Thanks 
uno



Re: [linux-programming] cari difftime in ms

2003-07-15 Terurut Topik Uno Tursadi
makasih atas responnya.
Saya sudah mencoba dan hasilnya sudah bisa jalan. 

Lain kali gantian saya yang akan membantu

uno

- Original Message - 
From: Ariya Hidayat [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Tuesday, July 15, 2003 4:11 PM
Subject: Re: [linux-programming] cari difftime in ms


 
 Tambahan, contoh code-nya:
 
 #include stdlib.h
 #include time.h
 #include sys/time.h
 #include sys/timeb.h
 
 int main( int argc, char **argv )
 {
struct timeb start, end;
float elapsed;
int second, msec;
 
ftime( start );
 
/* proses sesuatu di sini */
 
ftime (end );
 
second = (int)difftime ( end.time, start.time );
msec = end.millitm - start.millitm;
 
elapsed = (float)( second + msec / 1000.0 );
 
printf(elapsed time: %g seconds\n, elapsed );
 
return 0;
 }
 
 
 
 -
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[linux-programming] menampilkan waktu dengan satuan milisecond

2003-07-15 Terurut Topik Uno Tursadi
Saya ingin minta saran bagaimana caranya menampilkan waktu dengan satuan miliseconds, 
apakah ada fungsi khusus di gcc untuk hal tersebut.

Berikut listing program yang sudah saya coba

int Time_Msec_To_String(const struct timeb time, char *out)
{
 int  index,
  i,
  intLength;

 char  achrYear[6],
  achrMsec[10],
  output[100],
  *pchrTime;

 pchrTime = ctime(time.time);
 strcpy(output, pchrTime);
 index = 0;
 achrYear[0] = ' ';

 for(i=strlen(output)-5; istrlen(output); i++)
 {
  achrYear[index+1] = output[i];
  index++;
 }
 achrYear[5] = '\0';

 intLength = strlen(output);
 i=intLength-6;

 sprintf(achrMsec,%d, time.millitm);

 index=0;
 do
 {
  if (i==intLength-6)
   output[i] = '.';
  else if (i=intLength-3)
  {
   output[i] = achrMsec[index];
   index++;
  }
  else
  {
   if (i==intLength-2)
index=0;
   output[i] = achrYear[index];
   index++;
  }
  i++;
 }while(iintLength+4);

 strcpy(out,output);

 return 1;
}

Thanks uno