Search Results

Search found 2220 results on 89 pages for 'gcc'.

Page 21/89 | < Previous Page | 17 18 19 20 21 22 23 24 25 26 27 28  | Next Page >

  • crt0.o and crt1.o -- What's the difference?

    - by Earlz
    Hello, recently I've been trying to debug some low level work and I could not find the crt0.S for the compiler(avr-gcc) but I did find a crt1.S (and the same with the corresponding .o files) What is the difference between these two files? Is crt1 something completely different or what? They both seem to have to do with something for bootstrapping(setting up stack frame and such), but why the distinction?

    Read the article

  • compiling a c++ program including mysql

    - by wyatt
    I'm new to gcc, and trying to compile a c++ program which includes mysql.h using the command: g++ -o test test.cpp -L/usr/include/mysql -lmysqlclient -I/usr/include/mysql It works without issue, but I was wondering if someone could explain the arguments to me. I don't like using commands I don't understand. Thanks

    Read the article

  • How to make gcc on SUN calculate floating points the same way as in Linux

    - by Marina
    I have a project where I have to perform some mathematics calculations with double variables. The problem is that I get different results on SUN Solaris 9 and Linux. There are a lot of ways (explained here and other forums) how to make Linux work as Sun, but not the other way around. I cannot touch the Linux code, so it is only SUN I can change. Is there any way to make SUN to behave as Linux? The code I run(compile with gcc on both systems): int hash_func(char *long_id) { double product, lnum, gold; while (*long_id) lnum = lnum * 10.0 + (*long_id++ - '0'); printf("lnum => %20.20f\n", lnum); lnum = lnum * 10.0E-8; printf("lnum => %20.20f\n", lnum); gold = 0.6125423371582974; product = lnum * gold; printf("product => %20.20f\n", product); ... } if the input is 339886769243483 the output in Linux: lnum => 339886769243**483**.00000000000000000000 lnum => 33988676.9243**4829473495483398** product => 20819503.600158**59827399253845** When on SUN: lnum => 339886769243483.00000000000000000000 lnum => 33988676.92434830218553543091 product = 20819503.600158**60199928283691** Note: The result is not always different, moreover most of the times it is the same. Just 10 15-digit numbers out of 60000 have this problem. Please help!!!

    Read the article

  • Reference a GNU C DLL built in GCC against Cygwin, from C#/NET

    - by Dale Halliwell
    Here is what I want: I have a huge legacy C/C++ codebase written for POSIX, including some very POSIX specific stuff like pthreads. This can be compiled on Cygwin/GCC and run as an executable under Windows with the Cygwin DLL. What I would like to do is build the codebase itself into a Windows DLL that I can then reference from C# and write a wrapper around it to access some parts of it programatically. I have tried this approach with the very simple "hello world" example at http://www.cygwin.com/cygwin-ug-net/dll.html and it doesn't seem to work. #include <stdio.h> extern "C" __declspec(dllexport) int hello(); int hello() { printf ("Hello World!\n"); return 42; } I believe I should be able to reference a DLL built with the above code in C# using something like: [DllImport("kernel32.dll")] public static extern IntPtr LoadLibrary(string dllToLoad); [DllImport("kernel32.dll")] public static extern IntPtr GetProcAddress(IntPtr hModule, string procedureName); [DllImport("kernel32.dll")] public static extern bool FreeLibrary(IntPtr hModule); [UnmanagedFunctionPointer(CallingConvention.Cdecl)] private delegate int hello(); static void Main(string[] args) { var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "helloworld.dll"); IntPtr pDll = LoadLibrary(path); IntPtr pAddressOfFunctionToCall = GetProcAddress(pDll, "hello"); hello hello = (hello)Marshal.GetDelegateForFunctionPointer( pAddressOfFunctionToCall, typeof(hello)); int theResult = hello(); Console.WriteLine(theResult.ToString()); bool result = FreeLibrary(pDll); Console.ReadKey(); } But this approach doesn't seem to work. LoadLibrary returns null. It can find the DLL (helloworld.dll), it is just like it can't load it or find the exported function. I am sure that if I get this basic case working I can reference the rest of my codebase in this way. Any suggestions or pointers, or does anyone know if what I want is even possible? Thanks.

    Read the article

  • Building Android NDK Toolchain for x86 Android on Windows via Cygwin

    - by grrussel
    The Android SDK includes the Android NDK, which in turn contains a customised GCC based tool chain for Android on ARM processors; The question is how to build the NDK tool chain to run on Windows to target x86 Android? The tool chain is already setup to build on Windows (cygwin) targeting ARM; There are also existing pre-built (unofficial) NDKs for targeting x86, but these contain pre-built tools for x86 Linux, not Windows. The NDK contains a build-toolchain.sh script to rebuild its tool chain; the question is, what specifically needs done to get that to build a tool chain targeting Android x86?

    Read the article

  • Cygwin compiling error: "this application has requested the runtime to terminate it in an unusual wa

    - by naspinski
    I am trying to run Cygwin, and I am running into some problems. I tried to compile a program that works both on Windows with mingw and on a Unix system, but when I go to compile it through Cygwin: gcc threads.c -o threads I get the error: this application has requested the runtime to terminate it in an unusual way And that's it... any ideas what I am forgetting or screwing up? I haven't touched this stuff in about 5 years so I am beyond rusty; thanks!

    Read the article

  • boost's regex won't compile

    - by myeviltacos
    Hi everyone. I am using boost 1.45.0 on Ubuntu with Code::Blocks as my IDE, and I can't get basic_regex.hpp to compile. I'm pretty sure I set up boost correctly, because I can compile programs using boost::format without any errors. But I'm getting this annoying error, and I don't know how to get rid of it. The code that is provoking the error: boost::regex e("\"http:\\\\/\\\\/localhostr.com\\\\/files\\\\/.+?\""); Compiler output (GCC): obj/Debug/main.o In function `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)' /home/neal/Documents/boost_1_45_0/boost/regex/v4/basic_regex.hpp|379| undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'| ||=== Build finished: 1 errors, 0 warnings ===| Did I miss a step when setting up boost, or should I downgrade to another version of boost?

    Read the article

  • C++ STL library in XCode - memset not defined in this scope

    - by Sharath
    I am trying to create a STL based C++ library in XCode with a bunch of C++ files that I have. Basically my end output should be a shared library (dylib) that can be consumed by a Objective-C application. When trying to compile, I get the following error.. 'memset' was not declared in scope. Since my codebase uses a lot of external 3rd party codebases, I thought i'll include or to resolve this, but I tried both and even that didn't work. Does it have something to do with the SDK? Am currently running 10.5 with GCC 4.2 Need help with setting up the Target properly. Any help is appreciated. Thanks.

    Read the article

  • "call" instruction that seemingly jumps into itself

    - by Checkers
    I have gcc 4 compiling some C++ code into the following (from objdump): 00000030 <func()>: 30: 55 push %ebp 31: 89 e5 mov %esp,%ebp 33: 56 push %esi 34: 31 f6 xor %esi,%esi 36: 53 push %ebx 37: bb 00 00 00 00 mov $0x0,%ebx 3c: 83 ec 40 sub $0x40,%esp 3f: c7 04 24 01 00 00 00 movl $0x1,(%esp) 46: e8 fc ff ff ff call 47 <func()+0x17> 4b: 8d 55 ec lea 0xffffffec(%ebp),%edx 4e: 89 14 24 mov %edx,(%esp) 51: 89 5c 24 04 mov %ebx,0x4(%esp) 55: 89 74 24 08 mov %esi,0x8(%esp) 59: 89 44 24 0c mov %eax,0xc(%esp) ; the rest of the function is omitted I can't understand the operand of call instruction here, why does it call into itself, but with one byte off?

    Read the article

  • Linux shared library that uses a shared library undefined symbol

    - by johnnycrash
    two shared libraries liba.so and libb.so. liba.so uses libb.so. All c files are compiled with -fPIC. Linking uses -shared. When we call dlopen on liba.so it cannot find symbols in libb.so...we get the "undefined symbol" error. We can dlopen libb.so with no errors. We know that liba is finding libb because we don't get a file not found error. We get a file not found error when we delete libb.so. We tried -lutil and no luck. Any ideas???? oh yeah. gcc 4.1.2

    Read the article

  • Invoking MSYS bash from Windows cmd

    - by daevius
    I'm using GCC on Windows7 (using the TDM's build). I installed MSYS to be able to execute make and compile using makefiles. However, it is tedious to every time start up the MSYS bash shell, navigate to the directory of the project and run make. What I want is to automate this process. I prefer to have a batch file in Windows, or something similar, from which I then invoke the MSYS bash. It should navigate to the directory the batch file resides in and call "make". Is this possible? Can I send commands to MSYS bash from cmd (like navigation / invoking make)? Or can I let the MSYS bash run a "bash script", which sets the commands to be executed much like batch scripts? Thank you. PS: this is something similar as this question: http://stackoverflow.com/questions/2546757/executing-msys-from-cmd-exe-with-arguments

    Read the article

  • Including non-standard C headers in C++

    - by Swaroop S
    I needed to include a few c headers ( non standard header files ) in my C++ code to be compiled by gcc. The C header (foo.h) has support for : #ifdef __cplusplus extern "C" { #endif and similarly at the end for }. The c++ code has the include "foo.h" I believe I should be able to just include the header (foo.h) and create instances of structs defined in the .h file. I am not able to compile the source code. It seems like the compiler looks at the c code as if it were c++ code. I see error such as error: expected constructor, destructor or type conversion before "(" Did I do something wrong ? I took advise from : http://www.parashift.com/c++-faq-lite/mixing-c-and-cpp.html What else do i need to do, to tell the c++ compiler "expect and compile as c code" ?

    Read the article

  • Replacing xcode with macports software

    - by Feynman
    I have been trying to replace everything in xcode with stuff I can get from macports. So far, I installed xcode, then macports, then used macports to install gcc, gcc_select, gmake, elf-bintools, bintools, arm-bintools (just to be sure I replaced all the bintools), and then uninstalled all of xcode. I then linked /usr/bin/make with /opt/local/bin/gmake and used gcc_select to select gcc44--the one from macports. I also exported all the bintool executable paths into the .profile path. I was sure this would work (although I should have known better after working on it for 48 hours straight), but nothing will configure, and the log files all have the common error: :info:configure configure: error: C compiler cannot create executables I have a feeling it has something to do with libraries, but I am really not sure. I use a mac 10.5.8. If this is truely 'impossible', what parts of xcode to I need for macports to work? For example, I can uninstall the xcode folder without a problem.

    Read the article

  • c++ vector.push_back error: request for member 'push_back'..., which is of non-class type 'vector(ch

    - by Ziplin
    I'm using Cygwin with GCC, and ultimately I want to read in a file of characters into a vector of characters, and using this code #include <fstream> #include <vector> #include <stdlib.h> using namespace std; int main (int argc, char *argv[] ) { vector<char> string1(); string1.push_back('a'); return 0; } generates this compile time error: main.cpp: In function int main(int, char**)': main.cpp:46: error: request for memberpush_back' in string1', which is of non -class typestd::vector ()()' I tried this with a vector of ints and strings as well and they had the same problem.

    Read the article

  • Compiling a c++ project using blas (Fortran) in Matlab mex

    - by Yin Zhu
    I am trying to use a package here. I have no problem compiling it under 64-bit Linux as all the Makefiles are already provides. Only minor changes are needed, which I can handle. However, I have a problem compiling it under 64-bit Windows. I have installed gfortran and also compiled BLAS and CBLAS to their static libraries. The problem is that Matlab mex does not support GCC in windows, so I need to use VC 2008 instead. I found in the Makefile this line is to get the final klr_train.mexw64: klr_train.$(MEX_EXT): klr_train.cpp $(MEX) $(MEX_OPTION) klr_train.cpp ../libklr/libklr.cpp $(CBLASDIR)/lib/LINUX/cblas_LINUX.a $(BLASDIR)/blas_LINUX.a -lgfortran I don't know how to execute this line using VC 2008's command line tool cl. As cl obviously does not support -lgfortran, which I think is used to link some library in gfortran to support BLAS.

    Read the article

  • Detecting Infinite recursion in Python or dynamic languages

    - by drozzy
    Recently I tried compiling program something like this with GCC: int f(int i){ if(i<0){ return 0;} return f(i-1); and it ran just fine. When I inspected the stack frames the compiler optimized the program to use only one frame, by just jumping back to the beginning of the function and only replacing the arguments to f. And - the compiler wasn't even running in optimized mode. Now, when I try the same thing in Python - I hit maximum recursion wall (or stack overflow). Is there way that a dynamic language like python can take advantage of these nice optimizations? Maybe it's possible to use a compiler instead of an interpreter to make this work? Just curious!

    Read the article

  • How does 64 bit code work on OS-X 10.5?

    - by philcolbourn
    I initially thought that 64 bit instructions would not work on OS-X 10.5. I wrote a little test program and compiled it with GCC -m64. I used long long for my 64 bit integers. The assembly instructions used look like they are 64 bit. eg. imultq and movq 8(%rbp),%rax. I seems to work. I am only using printf to display the 64 bit values using %lld. Is this the expected behaviour? Are there any gotcha's that would cause this to fail? Am I allowed to ask multiple questions in a question? Does this work on other OS's?

    Read the article

  • gcov and switch statements

    - by Matt
    I'm running gcov over some C code with a switch statement. I've written test cases to cover every possible path through that switch statement, but it still reports a branch in the switch statement as not taken and less than 100% on the "Taken at least once" stat. Here's some sample code to demonstrate: #include "stdio.h" void foo(int i) { switch(i) { case 1:printf("a\n");break; case 2:printf("b\n");break; case 3:printf("c\n");break; default: printf("other\n"); } } int main() { int i; for(i=0;i<4;++i) foo(i); return 0; } I built with "gcc temp.c -fprofile-arcs -ftest-coverage", ran "a", then did "gcov -b -c temp.c". The output indicates eight branches on the switch and one (branch 6) not taken. What are all those branches and how do I get 100% coverage?

    Read the article

  • Configuration files for C in linux

    - by James
    Hi, I have an executable that run time should take configuration parameters from a script file. This way I dont need to re-compile the code for every configuration change. Right now I have all the configuration values in a .h file. Everytime I change it i need to re-compile. The platform is C, gcc under Linux. What is the best solution for this problem? I looked up on google and so XML, phthon and Lua bindings for C. Is using a separate scripting language the best approach? If so, which one would you recommend for my need? Thanks

    Read the article

  • What makes this struct incomplete?

    - by Mechko
    gcc lovingly throws me this error: bst.c:33: error: invalid application of ‘sizeof’ to incomplete type ‘struct BSTNode’ What makes BSTnode incomplete? Below are the struct definitions relevant to BSTnode. struct BSTnode{ struct BSTnode * left; struct BSTnode * right; struct hash minhash; struct hash maxhash; struct DHTid owner; int misses; }; where we have: struct hash{ int hash; } struct DHTid { int islocal; unsigned long addr; unsigned short port; struct DHTnode * node; }; and currently: struct DHTnode{ int something; }

    Read the article

  • boost::dynamic_pointer_cast with const pointer not working ?

    - by ereOn
    Hi, Let's say I have two classes, A and B, where B is a child class of A. I also have the following function: void foo(boost::shared_ptr<const A> a) { boost::shared_ptr<const B> b = boost::dynamic_pointer_cast<const B>(a); // Error ! } Compilation with gcc gives me the following errors: C:\Boost\include/boost/smart_ptr/shared_ptr.hpp: In constructor 'boost::shared_ptr< <template-parameter-1-1> >::shared_ptr(const boost::shared_ptr<Y>&, boost::detail::dynamic_cast_tag) [with Y = const A, T = const B]': C:\Boost\include/boost/smart_ptr/shared_ptr.hpp:522: instantiated from 'boost::shared_ptr<X> boost::dynamic_pointer_cast(const boost::shared_ptr<U>&) [with T = const B, U = const A]' src\a.cpp:10: instantiated from here C:\Boost\include/boost/smart_ptr/shared_ptr.hpp:259: error: cannot dynamic_cast 'r->boost::shared_ptr<const A>::px' (of type 'const class A* const') to type 'const class B*' (source type is not polymorphic) What could possibly be wrong ? Thank you.

    Read the article

  • Decoding equivalent assembly code of C code...

    - by puffadder
    Hi All, Wanting to see the output of the compiler (in assembly) for some C code, I wrote a simple program in C and generated its assembly file using gcc. The code is this: #include <stdio.h> int main() { int i = 0; if ( i == 0 ) { printf("testing\n"); } return 0; } The generated assembly for it is here (only the main function): _main: pushl %ebpz movl %esp, %ebp subl $24, %esp andl $-16, %esp movl $0, %eax addl $15, %eax addl $15, %eax shrl $4, %eax sall $4, %eax movl %eax, -8(%ebp) movl -8(%ebp), %eax call __alloca call ___main movl $0, -4(%ebp) cmpl $0, -4(%ebp) jne L2 movl $LC0, (%esp) call _printf L2: movl $0, %eax leave ret I am at an absolute loss to correlate the C code and assembly code. All that the code has to do is store 0 in a register and compare it with a constant 0 and take suitable action. But what is going on in the assembly ? Thanks in advance.

    Read the article

  • What's the big difference between those two binary files?

    - by Lela Dax
    These are two files (contained in the tar.bz2) that were generated using a just-in-time compiler for a game engine. The generated code from ui-linux.bin is from a x86_64 gcc compiler and the ui-windows.bin from the same brand of compiler but targetting win x86_64 (mingw-w64). I've attempted to debug a problem that occurs only on the windows version and i stumbled upon what it seems to be different end-binary code. However, the input assembly code was virtually identical (only difference being pointer representations as int). (there's theoretically no winabi/unixabi conflict since that's taken care of by an attribute flag on certain declarations involved). Any idea what it might be that makes these two binary codes different? The C for the mini-compiler and base assembly producing it appears compatible at first glance. http://www0.org/vm/bins.tar.bz2

    Read the article

< Previous Page | 17 18 19 20 21 22 23 24 25 26 27 28  | Next Page >