- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我尝试运行我的代码时,出现警告,我不知道为什么......请帮助我,这是我的代码:
#include<stdio.h>
#include<stdlib.h>
#include<sys/time.h>
#define TESTTIMES 2000
void test1()
{
// printf("--------TEST1----------\n");
int i = 0;
for (i = 0; i < 150; i++) {
char *p = (char*)MyMalloc(1);
MyFree(p);
}
}
void test2()
{
// printf("--------TEST2----------\n");
int *a[150], i;
for (i = 0; i < 150; i++) {
char *p = (char*)MyMalloc(1);
a[i] = p;
if ((i + 1) % 50 == 0) {
int j = i + 1 - 50;
while (j <= i) {
MyFree(a[j]);
j += 1;
}
}
}
}
void test3()
{
// printf("--------TEST3----------\n");
int flag, cnt = 0, top = 0;
char *b[50];
srand(time(NULL));
while(cnt < 50) {
flag = rand() % 2;
if (flag) {
char *p = (char*)MyMalloc(1);
b[top] = p;
top++;
cnt += 1;
} else {
if (top > 0) {
top -= 1;
MyFree(b[top]);
}
}
}
while (top > 0) {
top--;
MyFree(b[top]);
}
}
void test4()
{
// printf("--------TEST4----------\n");
int flag, size, cnt = 0, top = 0;
char *b[50];
srand(time(NULL));
while(cnt < 50) {
flag = rand() % 2;
size = rand() % 64 + 1;
if (flag) {
char *p = (char*)MyMalloc(size);
b[top] = p;
top++;
cnt += 1;
} else {
if (top > 0) {
top -= 1;
MyFree(b[top]);
}
}
}
while (top > 0) {
top--;
MyFree(b[top]);
}
}
void test5()
{
// printf("--------TEST5----------\n");
int i = 0;
while (i < TESTTIMES) {
char *p = MyMalloc(4096);
MyFree(p);
i++;
}
}
void test6()
{
// printf("--------TEST6----------\n");
int top = 0, i = 0;
char *b[100];
while(1) {
char *p = (char*)MyMalloc(100);
if (p) {
b[top] = p;
top++;
} else {
break;
}
}
while(i < top){
MyFree(b[i]);
i++;
}
}
我收到了关于这些行的警告:
ind.c: In function \u2018test1\u2019:
ind.c:79:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
char *p = (char*)MyMalloc(1);
^
ind.c: In function \u2018test2\u2019:
ind.c:90:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
char *p = (char*)MyMalloc(1);
^
ind.c:91:14: warning: assignment from incompatible pointer type [enabled by default]
a[i] = p;
^
ind.c: In function \u2018test3\u2019:
ind.c:112:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
char *p = (char*)MyMalloc(1);
^
ind.c: In function \u2018test4\u2019:
ind.c:140:23: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
char *p = (char*)MyMalloc(size);
^
ind.c: In function \u2018test5\u2019:
ind.c:162:19: warning: initialization makes pointer from integer without a cast [enabled by default]
char *p = MyMalloc(4096);
^
ind.c: In function \u2018test6\u2019:
ind.c:176:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
char *p = (char*)MyMalloc(100);
^
是不是因为GCC版本不同?我该如何修复它?这是C编程,我收到两个警告,例如警告:从不兼容的指针类型赋值[默认启用]和从不同大小的整数转换为指针[-Wint-to-pointer-cast]。
最佳答案
您收到这些错误的原因:
warning: cast to pointer from integer of different size
是因为你的主文件不知道MyMalloc
是如何定义的,所以它默认为返回int
的函数。您可以通过将 #include "mymalloc.h"
放在主文件的顶部来解决此问题。
如果这样做,您将看到另一个错误,特别是 buffer
和 memory
被定义了两次。这是因为您在头文件中定义了这两个变量。正是由于这个原因,变量不应该定义在头文件中。
由于您在 mymalloc.c 中仅使用 buffer
和 memory
,因此您应该将它们移至该文件中。这样就可以避免多重定义错误。出于同样的原因,您还应该移动struct node
。
关于c - 警告 : assignment from incompatible pointer type [enabled by default] and cast to pointer from integer of different size [-Wint-to-pointer-cast],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59011358/
我有一个自定义类 Custom . public class Custom { private Long id; List ids; // getters and setters } 现在
我有一个 Tree 对象,其中包含 Tree 对象的子对象 (HashMap) 等等。 我需要通过 numericPosition 变量过滤对象。 例如: Tree mapTreeRoot = new
我是编码的新手,在尝试了多种解决方案后,我仍然无法弄清楚为什么我的做法是错误的。这是我的完整代码: public class Student { private String name; pr
我在使用泛型时遇到问题。我不知道如何将 OnCallbackWrapper 传递给 CallbackWrapper 过程。我在以下示例中收到“不兼容类型”错误: unit uTest; interfa
我想实现yin-yang puzzle在 haskell 。这是我的尝试(不成功): -- The data type in use is recursive, so we must have a n
这个问题已经有答案了: What does "Incompatible types: void cannot be converted to ..." mean? (1 个回答) 已关闭2 年前。 我
在以下情况下,我无法理解 Java 泛型的行为。 拥有一些参数化接口(interface),IFace ,以及某个类上的方法,该方法返回扩展此接口(interface)的类,> Class getCl
我成功地将我的日期从 JDateChooser 获取到带有以下行的字符串中: String d1 = ((JTextField)jDateChooser1.getDateEditor().getUi
这个问题不太可能对任何 future 的访客有帮助;它只与一个较小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于全世界的互联网受众。如需帮助使此问题更广泛适用,visit the
我正在编写这段使用大数字的代码: import java.math.*; import java.util.*; import java.lang.*; public class main {
我首先使用 JXL 修改 POI 创建的一个 xls 文件。之后我将尝试使用 POI 读取该文件。在 POIFSFileSystem 创建的那一刻 poFileSystem = new POIFSF
这里是完全的 Java 菜鸟。学校刚刚开学,我正在参加 APCS。我们的老师向我们展示了这个名为 Scanner 的很酷的类(class),但他还没有教过我们。我觉得这很酷,所以我决定进一步研究它。在
我见过很多情况,其中声明了一个字节,但来自类似方法的值intToByte 或 StringToByte 被转换为字节,因为程序员提供了一个十六进制-值,一个整数-或字符串值。 我试图将实际的字节值分配
在这个类中,我想返回整个数组列表,而不是作为单个元素。但是,我在编译时收到错误“不兼容类型”。我在这里做错了什么?感谢您的帮助!! import java.util.ArrayList; public
我想设置一个新的 mysql 数据库从属数据库,运行比主数据库 => 5.0.75 更新版本的 mysql => 5.1.41,据我所知,这通常应该没有问题。然而,事实证明设置复制失败了,因为我在 5
我相信conftest缺少正确的标志,但我无法通过查看mkmf.log的内容来找出问题,这些内容包含在下面。 任何想法将不胜感激! 我正在编译用于 OpenWRT 路由器 (mips) 使用 ruby
我正在尝试实现一个呼吸优先的搜索,用于搜索罗马尼亚城市的人工智能程序。 但是,我在这方面遇到了很多麻烦,最新的错误是 searches.java:153: error: incompatible ty
我有编译错误: Error: incompatible types: Object cannot be converted to String. 在行 String buf = it.next();
private byte[] decode_text(byte[] image) { int length = 0; int offset = 32; for(int i=0;
这个问题在这里已经有了答案: Why won't this generic java code compile? (4 个答案) 关闭 9 年前。 给定这个简单的类: import java
我是一名优秀的程序员,十分优秀!