Yup, setuju.
Satu2nya cara yg. benar emang dengan cara pembufferan di client, trus
dari stream yg. diterima, dicari batas2 recordnya.
Cuman, btw, program di bawah ada bugnya tuh. Gimana kalau line-nya
nggak diterima lengkap? Gimana kalau dipindah idx=0 dari for() ke
sebelum while(1)?
jagad
Benny Prijono wrote:
kalo UDP, di BSD, kalau nggak salah ada fungsi writev(), dimana
parameternya adalah multiple buffer. Nanti multiple buffer ini bakalan
di concat dan dikirim sebagai satu packet.
ralat:
ternyata di Linux writev() ada juga.
--
cheers,
Bennylp
--
Utk berhenti
[EMAIL PROTECTED] wrote:
ada nggak cara untuk ngeliat semua predefined variables di suatu line
tertentu source program c?
gcc -E -v -dM file.c
gcc -E -v -dD file.c
info gcc -- Invoking GCC -- Preprocessor Options
trus informasi tentang predefined variables yang standar liatnya dimana?
Mohamad Ilhami wrote:
for (iter = M.begin(), i = 0; i M.size(); i++, iter++) {
printf(M[%s] a=%2d b=%2d\n, iter-first, M[iter-first].a,
M[iter-first].b);
}
Bisa nggak ya kita iterasi seluruh elemen M tanpa menggunakan variable i?
cukup dengan iter.
biasanya
Daniel K wrote:
ya, keliatannya ko ribet banget ya cara instalasinya ..ada yg udah implement
punya tips cepat setting instalasinya ?
bukannya tinggal:
$ cd /home/bennylp
$ mkdir mycvs
$ export CVSROOT=/home/bennylp/mycvs
$ cvs init
kalau buat local/pemakain pribadi aja sih, setahu saya
jangan lupa untuk check pointer yg. di-return-ed oleh malloc(), apakah
NULl atau enggak, dan untuk mem-free() pointer tsb. sebelum program
exit.. :-)
int main()
{
...
coba = malloc(sizeof(struct struktur));
if (coba == NULL) return 1;
...
free(coba);
return 0
}
--
cheers,
lutfi wrote:
ada gak tool untuk tracing syntax c under linux
pusing gak tau salahnya dimana
kalau ada aku download dimana
maksudnya tracing syntax ini tracing syntax error, atau tracing pada
saat runtime alias debugging? kalau tracing syntax error, bukannya
pake gcc? kalau debugging, bisa
Yohanes Nugroho wrote:
kalau masalah stray ini, mungkin itu karena file source-nya disimpan
oleh editor DOS yg. memakai CR-LF untuk terminasi newline-nya. GCC
(atau mungkin cpp alias preprocessornya gcc) nggak mengenali CR-LF
sebagai newline, jadi mungkin file tsb harus disimpan ulang
Agus Budy Wuysang wrote:
strcpy(argv[0], "very very very very long string");
Anda berusaha mengopy sesuatu ke tempat yang belum dialokasikan
sepenuhnya ini masalah lain lagi... (bukan tugas 'const pointer'
warning) tapi alokasi memory pada tempat yang ditunjuk oleh
'const
Agus Budy Wuysang wrote:
const char *p;
p[0] = 'X'; -- warning: assignment of read-only location
*p = 'X';-- warning: assignment of read-only location
printf("p = %c\n', *p);
Tahu... tapi assignment itu tetap berhasil kan, lain kalau
Pascal java :)
weleh, jadi kalau
Agus Budy Wuysang wrote:
$ cdecl explain 'const char *argv[]'
declare argv as array of pointer to const char
array of | pointer to | const char
^^
char bukan pointer, const/non-const sama saja
^^
no, no... tidak
Agus Budy Wuysang wrote:
mmm, itu "constant string" apa maksudnya bukan 'const char *s[]' dan
s[] == *s == constant pointer == array of char
s == normal double pointer != constant
$ cdecl explain 'const char *argv[]'
declare argv as array of pointer to const char
$ cdecl explain
Agus Budy Wuysang wrote:
int main(int c) { return 0; }
int main(int c, char * const s[]) { return 0; }
int main (int c, char * const s[], char * const e[]) { return 0; }
c = total argument
v = pointer ke semua "constant string" argument arg[0] ,.. arg[argc - 1]
e = pointer ke semua
"P.Y. Adi Prasaja" wrote:
On Mon, Oct 30, 2000 at 09:58:50AM +0700, Steven Haryanto wrote:
yang diinginkan di sini adalah yang nonblocking (yaitu
seperti kbhit() di DOS/conio.h atau KeyPressed() di Pascal,
atau INKEY$ di BASIC).
Bukan non-blocking, kalau dibikin non-blocking malah
Denni Pidono wrote:
bisa pake select(), masukkan handle socket dan handle nol (stdin) ke
fd_set untuk read. Atau bisa juga pake multithread, thread yg. satu
menunggu user input, thread yg. lain membaca keyboard.
tapi cara di atas cumak bisa kalau user menekan tombol ENTER setelah
Denni Pidono wrote:
saya juga ingin bertanya bagemana caranya membuat program socket
programming untuk client, dimana client tersebut bisa menginputkan kalimat,
dan sambil menunggu inputan user, client bisa menerima message dari server.
bisa pake select(), masukkan handle socket dan
Yohanes Nugroho wrote:
tapi jika
char *coba3 = "teststring"
lalu
char *coba4 = "teststring"
alamat yang ditunjuk coba3 dan coba4 sama (sudah ditest di gcc).
Optimisasi di atas biasanya disebut 'string pooling', jadi kalau ada
dua atau lebih string constant, constants itu akan ditaruh di
Agus Budy Wuysang wrote:
si andy tidak memakai konstruk "coba++" jadi kalam konteksnya
tak ada beda... note: local char pointer ie. strz != coba
while (++*strz) stop saat *strz = '\0' (strlen(strz) = 9) i=0...8
padahal xorz = char[8] - (i=0...7) = overflow
terus terang kalimat anda itu
Yohanes Nugroho wrote:
On Wed, 18 Oct 2000, Andy wrote:
yah betul mas, saya coba ubah ke * langsung jalan tapi akibatnya
segmentation fault
char * coba = "teststring";
ganti baris di atas dg
char coba[] = "teststring";
tambahan: itu xorz[] kok besarnya cumak 9, padahal
purnomo wrote:
2. String command apa yang efesien memilah data ke dalam variabel-variabel
di atas ?
Kalau untuk parsing, pakai fungsi string.
$ man string
Kalau fungsinya sih tergantung selera kita. Kalo saya biasanya pakai strcmp
IMO lebih enak pakai sscanf() atau strtok().
Kalau
Untuk resolusi yg. lebih tinggi, bisa juga pakai fungsi usleep(), yg.
parameternya dalam microsecond. Atau bisa juga dengan memanfaatkan
feature timeout di fungsi select()..
Tapi hati2, kernel Linux 'standar' resolusinya cumak bbr. milisecond
(+/- 10ms di i386). Kalau mau benar2 tepat sampai ke
EmF wrote:
met pagii :-)
Saya lagi nyoba untuk tau lebih jauh ttg C. Misal ada source yang
memakai "#includesomeheader.h", trus saya buka someheader.h ini dan
ternyata banyak variabel(?) yang saya ga ngerti dari mana datangnya.
lebih tepat disebut macro (atau
Bento wrote:
Guys,
Gimana ya caranya bikin shared object di linux (file-file .so),...apa-apa
saja yg diperlukan
yg. sederhana sih kayaknya cukup dengan meng-compile file2 source
librarynya dengan target file .so, dan dikasi option '-shared' biar
gcc nggak komplain soal nggak nemuin fungsi
Coba cek di sini: http://www.gl.umbc.edu/~mabzug1/cs/md5/md5.html
Liat di source md5sum di page di atas.
Delly wrote:
Saya saat ini sangat membutuhkan Library MD5, kalau bisa sih yg lengkap, ada
fungsi untuk generate digest, check digest, inputnya nama file :-), dan
ditulis pakai bahasa C
Ronny Haryanto wrote:
On 24-Aug-2000, Putra wrote:
Mungkinkah kita mempergunakan inline assebly Linux (pakai C++)? Bila mungkin
bagaimana bentuk instruksinya? Kalau di BorlandC++ bisa pakai keyword asm:
Perlu diingat bahasa C/C++ tidak selalu dicompile untuk platform i386.
setuju.
Kebetulan saya sedang penasaran dengan si segmentation fault ini.
Setelah bereksperimen dikit, ada hal baru yg. saya dapet yg. mungkin
berguna.
(lihat komentar saya di bawah).
Ronny Haryanto wrote:
Segfault itu artinya programnya berusaha mengakses memory yg bukan
miliknya. Memory
Ronny Haryanto wrote:
#include string.h
#include stdio.h
int main()
{
char *s;
/* mestinya di sini ada s=malloc() */
strcpy(s, "contoh string");
printf("%s\n", s);
}
Variable (pointer) s adanya di data segment, tapi memorynya belum
diallocate di
Ronny Haryanto wrote:
On 23-Aug-2000, Benny Prijono wrote:
variable s letaknya di stack (sama seperti kalo kita definisikan 'int
i' setelah definisi variabel s, maka variabel 'i' letaknya juga di
stack), tapi isi variable s merujuk ke lokasi di data segmen (setelah
di-malloc tentu saja
dede fasoli wrote:
Terimakasi banyak !!!
trus..
untuk Tools aplikasinya.
ada tidak, yang dikembangkan seperti
bahasa Visualnya Windows atau OOP.
saya cuman taunya kalau make C++, bisa pake class library freeodbc++:
http://www.orcane.net/freeodbc++/
--
cheers,
Bennylp
Ronny Haryanto wrote:
Hmm.. ilmu baru lagi hehehe.. duluuu mungkin sudah pernah tapi ya lupa
lagi. Jadi kalo saya mau pass array by value nggak bisa atau ada cara
khusus?
IMHO nggak bisa, karena:
void f(char p[]) {
p[0] = 'X';
}
itu diterjemahkan oleh compiler kurang lebih jadi:
void
Ronny Haryanto wrote:
Tapi, ngapain sih pass array by value? Bukannya malah nglambat2-in
program?
Sekedar curious aja. Maksudnya sih kalo2 dikehendaki supaya jangan
sampe mengubah arraynya by accident.
ah, fortunately our great great ancestor brian and dennis have thought
about this,
31 matches
Mail list logo