zoukankan      html  css  js  c++  java
  • windows下srand48()和drand48()的问题

    前几天在windows下用MINGW编译一段代码时,出现了错误提示说srand48()和drand48()的未定义,去网上搜了下,发现好多人也遇到了同样的问题,大约有两种解决方案:

    • 第一个就是说gcc必须是官方的,我用的事是tdm-mingw,而官方的好像是dw版(安装mingw的时候可以选择这项),我重新装了下还是有错误提示.
    • 第二个是说装个gnuwin,我装了后不知道怎么配置,因为mingw里面好多库和gnuwin里面是一样的.

    还有就是用cygwin直接编译就可以只不过要用到cygwin1.dll(位于cygwin的安装目录下)才可以运行在windows下

    后来去网上找代码,发现都不能用后来自己就看着srand48()和drand48()的说明自己实现了下

    #ifndef DRAND48_H  
    #define DRAND48_H  
      
    #include <stdlib.h>  
      
    #define m 0x100000000LL  
    #define c 0xB16  
    #define a 0x5DEECE66DLL  
      
    static unsigned long long seed = 1;  
      
    double drand48(void)  
    {  
        seed = (a * seed + c) & 0xFFFFFFFFFFFFLL;  
        unsigned int x = seed >> 16;  
        return  ((double)x / (double)m);  
          
    }  
      
    void srand48(unsigned int i)  
    {  
        seed  = (((long long int)i) << 16) | rand();  
    }  
      
    #endif  
    
  • 相关阅读:
    HTML学习笔记1
    hadoop的eclipse连接-PC端
    eclipse的菜单栏消失问题解决
    Hadoop的wordcount代码实现
    《机器学习》阅读进度记录
    《金粉世家》
    ubuntu下构建服务器环境-PC 端
    ubuntu安装chrome-PC端
    Discovering-论文
    矩阵取数游戏【NOIP】
  • 原文地址:https://www.cnblogs.com/yoyo-sincerely/p/8854922.html
Copyright © 2011-2022 走看看