Sponsored Content
Operating Systems Solaris How do I compile a 64-bit program on SPARC?? Post 302273598 by otheus on Monday 5th of January 2009 09:11:01 AM
Old 01-05-2009
on 64-bit platforms, size_t is probably 64 bits, while int is probably 32 (not always the case though, and is sometimes compiler or compiler-setting specific. Anyway, you should use
Code:
size_t len = wcslen(str);

To test to see how long each is, do:
Code:
#include <stdio.h>
main (int c, char **v) { 
printf("int length is %d\nsize_t length is %d\n",sizeof(int), sizeof(size_t));
}

 

10 More Discussions You Might Find Interesting

1. Solaris

error: compile 64 bit mysql on Solaris 10

I'm trying to build 64 bit mysql-5.0.37 on Solaris 10. CFLAGS="-O3" CXX='gcc -m64 -mcpu=v9' CXXFLAGS="-O3 -felide-constructors -fno-exceptions -fno-rtti" ./configure -disable-shared --prefix=/usr/local/mysql --datadir=/home1/mysql_data --with-mysqld-user=mysql ... (0 Replies)
Discussion started by: csross
0 Replies

2. Programming

compile a c program

I am trying to compile a c program on AIX 5.3L 64-bit unix. I have used this program in the past and it works. Does anybody know what this error means? /usr/local/bin> gcc get_epoch_secs.c get_epoch_secs gcc: get_epoch_secs: No such file or directory get_epoch_secs.c: In function... (8 Replies)
Discussion started by: djehresmann
8 Replies

3. Solaris

soalris 10 sparc 64-bit

Hi all, When i use the command ps , it throws the error like this "ld.so.1: ps: fatal: /lib/libc.so.1: wrong ELF class: ELFCLASS32 Killed" Some of the commands will work.say for e.g. who,cp but w will not work. Please can anyone help me on this to solve this... (7 Replies)
Discussion started by: shanshine
7 Replies

4. Solaris

Difference between sun sparc 32-bit and sun sparc 64-bit

Hi , could you please clarify me the difference between sun sparc 32-bit and sun sparc 64-bit? means on which processors these are supporting (pentium processors, sun sparc processors) Regards, Rajesh (1 Reply)
Discussion started by: pmrajesh21
1 Replies

5. Linux

Is it possible to compile 64 bit application on 32 bit machine

Hi, I am using 32 bit machine, and I want to compile 64 bit application on 32-bit machine. So please tell me is it possible or not? Regards Mandar (7 Replies)
Discussion started by: Mandar123
7 Replies

6. Solaris

64 Bit SPARC Solaris 10 Install

I downloaded the iso image from here and burnt it on DVD. But when I tried installing it..it said boot device not availiable. Do I have to make it bootable? Is there any other component that I need to write on DVD other than the image? Moreover the DVD which I received from my admin for... (5 Replies)
Discussion started by: sumeet
5 Replies

7. Linux

Request: Compile Earlier Version of XTIDE and upload XTTPD binary on 64 bit Linux

Can someone try to compile this older version of xtide (attached) on 64-bit Intel/Linux and upload the xttpd binary? I have a friend who needs an older version up and running because the newer version does not support his required harmonic files. Thanks! (7 Replies)
Discussion started by: Neo
7 Replies

8. Programming

c program to set the m-bit to n-bit

I have a 32bit number and without using for loop,I want to set mbit to n bit. Say m bit may be 2nd or 5th or 9th or 10th.n bit may be 22nd or 27or 11th bit. I assume m<n. Please help me.Thanks acdc (6 Replies)
Discussion started by: acdc
6 Replies

9. Solaris

Need to install /usr/lib/libiconv.so.2 Solaris Sparc 64 bit package

Hi, Can anyone help me out in getting download the below required package for Solaris 10 SPARC 64-bit machine. Thanks in advance. (3 Replies)
Discussion started by: prash358
3 Replies

10. Solaris

Need help to compile and create python64 bit (2.7.9) on Solaris10

Hi, I am trying to build python(2.7.9) 64 bit from source on solaris10. Using the below to compile ./configure CFLAGS=-m64 LDFLAGS=-m64 But getting errors like below while executing make make: Fatal error: Command failed for target `libinstall' OS info: isainfo -v 64-bit amd64... (9 Replies)
Discussion started by: Sumanthsv
9 Replies
ggstrlcpy(3)								GGI							      ggstrlcpy(3)

NAME
ggstrlcpy, ggstrlcat - size-bounded string copying and concatenation SYNOPSIS
#include <ggi/gg.h> size_t ggstrlcpy(char *dst, const char *src, size_t siz); size_t ggstrlcat(char *dst, const char *src, size_t siz); DESCRIPTION
The ggstrlcpy and ggstrlcat functions copy and concatenate strings respectively. They are designed to be safer, more consistent, and less error prone replacements for strncpy(3) and strncat(3). Unlike those functions, ggstrlcpy and ggstrlcat take the full size of the buffer (not just the length) and guarantee to NUL-terminate the result (as long as size is larger than 0 or, in the case of ggstrlcat, as long as there is at least one byte free in dst). Note that you should include a byte for the NUL in size. Also note that ggstrlcpy and ggstrlcat only operate on true C strings. This means that for ggstrlcpy src must be NUL-terminated and for ggstrlcat both src and dst must be NUL- terminated. The ggstrlcpy function copies up to siz - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result. The ggstrlcat function appends the NUL-terminated string src to the end of dst. It will append at most siz - strlen(dst) - 1 bytes, NUL- terminating the result. RETURN VALUES
The ggstrlcpy and ggstrlcat functions return the total length of the string they tried to create. For ggstrlcpy that means the length of src. For ggstrlcat that means the initial length of dst plus the length of src. While this may seem somewhat confusing it was done to make truncation detection simple. Note however, that if ggstrlcat traverses size characters without finding a NUL, the length of the string is considered to be size and the destination string will not be NUL-terminated (since there was no space for the NUL). This keeps ggstrlcat from running off the end of a string. In practice this should not happen (as it means that either size is incorrect or that dst is not a proper C string). The check exists to prevent potential security problems in incorrect code. EXAMPLES
The following code fragment illustrates the simple case: char *s, *p, buf[BUFSIZ]; ... (void)ggstrlcpy(buf, s, sizeof(buf)); (void)ggstrlcat(buf, p, sizeof(buf)); To detect truncation, perhaps while building a pathname, something like the following might be used: char *dir, *file, pname[MAXPATHLEN]; ... if (ggstrlcpy(pname, dir, sizeof(pname)) >= sizeof(pname)) goto toolong; if (ggstrlcat(pname, file, sizeof(pname)) >= sizeof(pname)) goto toolong; Since we know how many characters we copied the first time, we can speed things up a bit by using a copy instead of an append: char *dir, *file, pname[MAXPATHLEN]; size_t n; ... n = ggstrlcpy(pname, dir, sizeof(pname)); if (n >= sizeof(pname)) goto toolong; if (ggstrlcpy(pname + n, file, sizeof(pname) - n) >= sizeof(pname) - n) goto toolong; However, one may question the validity of such optimizations, as they defeat the whole purpose of ggstrlcpy and ggstrlcat. SEE ALSO
snprintf(3) strncat(3) strncpy(3) HISTORY
strlcpy and strlcat first appeared in OpenBSD 2.4, then in NetBSD 1.4.3 and FreeBSD 3.3.0. ggstrlcpy and ggstrlcat has been added to libgg for portability. libgg-1.0.x 2005-08-26 ggstrlcpy(3)
All times are GMT -4. The time now is 01:02 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy