windows下srand48()和drand48()的问题
2024-10-21 09:54:46
前几天在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
最新文章
- 软件工程线上课程(C语言实践篇)学习心得总结
- 计算机网络自学之路-----IP协议(3)
- HDU 5033 Building
- 【BZOJ】【3210】花神的浇花集会
- 探究foreach对于迭代变量的封装性的研究
- 【项目】git的部署使用
- linux ar 命令的使用
- UILabel iOS添加文本控件
- java 工作内存
- 关于docker使用的几个小问题(二)
- django----注意事项
- reorder-list 单链表
- Ajax 学习 第三篇
- SOA和微服务架构的区别?
- 基于OCS实现高速缓存
- 【ActiveMQ入门-11】ActiveMQ学习-compositeDestination
- Java GC的原理
- iOS - dispatch_after解说
- flask _bootstrap中使用flash
- vue中添加Echarts图表的使用,Echarts的学习笔记