wcslen(), strlen() returns size_t.
On 64-bit platform i want to use int like
str length is 10.
int len = wcslen(str);
On 64-bit what should I need to do if i wants the length in int. Because getting error as "Conversion of 64 bit type value to "int" causes truncation".
if i will use size_t instead of int like
size_t len = wcslen(str);
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
size_t len = wcslen(str);
To test to see how long each is, do:
#include <stdio.h>
main (int c, char **v) {
printf("int length is %d\nsize_t length is %d\n",sizeof(int), sizeof(size_t));
}
Again, The problem with casting signed int into unsigned int is that this discards the "sign" bit (it's a tad bit more complicated than that). For some reason, size_t appears to be signed, and therefore can be negative. You cannot convert a negative number of any size into a bigger integer that is non-negative. (It can be done, but you risk "losing information"). So either ignore the warning, or make size_t unsigned, or make DWORD signed.
I have '.c' files. I wanted to build this for 64-bit platform.
I am using gcc to compile these .c files.
But if i use
gcc +w2 -D_REENTRANT -D_POSIX_C_SOURCE=199506L -D__EXTENSIONS__ -xarch=v9 -O2 -g -Wall -fno-strict-aliasing
To find out the warnings for truncation or porting.
It is giving me error as :
gcc: +w2: No such file or directory
gcc: language xarch=v9 not recognized
Can you please tell me the what is the other option can be used with gcc to build the code 64-bit compatible?
I am trying to use lint with .c files.
Let me know that if i am giving command like:
>> lint test.c
But test.c has included other user define header files. So How can I get reference to the header file while executing lint command.
I am getting error for header file as:
" cannot find include file"
How to specify the path of header file with the lint command?
(1) upgrade to gcc 4.x. (2) Look at the configure options provided by MySQL. That should produce the proper compiler options. (3) If one of the types you change ultimately relates to a database operation, you may end up with corrupted data.
It shows ELF 32-bit MSB relocatable SPARC Version 1 -- means 32-bit build.
For 64-bit build I have added -m64 option in step1.But still it is not build as 64-bit.
Any changes needed in makefile for doing 64-build? or What changes need to do for 64-bit other than this?
I have requirement of 64-bit libcs.so, libct.so, libintl.so,libtcl.so, libcomn.so libraries. Can you please tell me from where i will get or download these libraries?