configure & make & make install
Test Code :
#include <stdlib.h>
#include <stdio.h>
#include <oping.h>
int main(int argc, char **argv) {
pingobj_t *ping;
pingobj_iter_t *iter;
if ((ping = ping_construct()) == NULL) {
fprintf(stderr, "ping_construct failed\n");
return (-1);
}
printf("ping_construct() success\n");
if (ping_host_add(ping, "www.xively.com") < 0) {
const char * errmsg = ping_get_error(ping);
fprintf(stderr, "ping_host_add(www.xively.com) failed. %s\n", errmsg);
return (-1);
}
printf("ping_host_add() success\n");
while (1) {
if (ping_send(ping) < 0) {
fprintf(stderr, "ping_send failed\n");
return (-1);
}
printf("ping_send() success\n");
for (iter = ping_iterator_get(ping); iter != NULL; iter =
ping_iterator_next(iter)) {
char hostname[100];
double latency;
size_t len;
printf("ping_iterator_get() success\n");
len = 100;
ping_iterator_get_info(iter, PING_INFO_HOSTNAME, hostname, &len);
len = sizeof(double);
ping_iterator_get_info(iter, PING_INFO_LATENCY, &latency, &len);
printf("hostname = %s, latency = %f\n", hostname, latency);
}
sleep(1);
}
printf("exiting...\n");
return (0);
}
Compile the code :
gcc -g -I/tmp/aaa/include/ -L/tmp/aaa/lib/ -Wl,-R/tmp/aaa/lib/ -loping -o a.out c.c
-Wl,-R look for library in /usr/local/lib at runtime before trying to use the one in /usr/lib/
Execute Code :
sudo ./a.out
Reference:
- Capturing output of ping in c
- ping library
- Linux error while loading shared libraries: cannot open shared object file: No such file or directory
- Shared libraries with GCC on Linux
- How to add a default include path for gcc in linux?
0 意見:
張貼留言