问题列表 - 第48870页

除stdlib.h之外的其他地方是否声明了exit()函数?

在尝试编译下面的示例时,我收到了一条警告:

>gcc -o file file.c
file.c: In function ‘main’:
file.c:12: warning: incompatible implicit declaration of built-in function ‘exit’
Run Code Online (Sandbox Code Playgroud)

经过一番搜索,我意识到这个例子缺少陈述#include <stdlib.h>.那么exit()函数在哪里宣布?图书馆stdio.h没有声明它.我的代码也没有.如果编译器支持它,为什么它会发出警告?另外,为什么要重新定义stdlib.h

例:

#include <stdio.h>

int main()
{
    char *fn = "./test.txt";
    FILE *fp;

    if((fp = fopen(fn, "w"))==NULL)
    {
        printf("Cannot open file '%s' for writing.\n", fn);
        exit(1);
    }

    fprintf(fp, "Hello, world!\n");

    if(fclose(fp)==0)
        printf("File '%s' closed successfully.\n", fn);
    else
        printf("Error closing file '%s'.\n", fn);

    return 0;    
}
Run Code Online (Sandbox Code Playgroud)

c gcc gcc-warning

1
推荐指数
1
解决办法
7055
查看次数

如何在GHCI中查找多个导入方法的类型签名

我正在使用一个库,我已加载到GHCI中.

从功能的名称来看,我应该使用哪一个; 我确定它存在,并希望查看我可用的函数的类型签名列表.我不知道该怎么做.

  • 我可以通过键入模块名称并在GHCI中使用制表符来获取库导出的所有函数的列表.
  • Hoogle对我来说没用,因为有问题的图书馆没有被覆盖.不过,Hoogle风格的搜索会很有用.
  • 我知道GHCI :t,但它似乎只适用于单个函数,我不想为库中导出的每个函数执行此操作.
  • grep -R :: ./*在源目录上运行或类似可以省略没有显式类型签名的函数.
  • 该库具有Haddock文档,但它有大约1000个函数分布在几十个子模块中,并且手动搜索所有子模块都很繁琐且容易出错.

我愿意尝试任何方法,但显然更喜欢简单,便携和可重复的方法.

有没有办法找到库中所有导出函数的类型签名?或者找出哪些函数具有包含某种类型的类型签名?

haskell types ghci

4
推荐指数
1
解决办法
281
查看次数

OpenGL ES 2.0和OpenGL 4之间的区别

OpenGL ES 2.0和OpenGL 4.1之间的确切区别是什么?我知道OpenGL ES 2.0是OpenGL 4.1的一个子集.但究竟什么是OpenGL ES 2.0中没有的功能.

我想开始单独使用OpenGL ES 2.0子集开发桌面应用程序(因为我们有一个很好的学习材料,以OpenGL ES编程指南的形式),我想知道我会缺少什么.

opengl opengl-es-2.0

11
推荐指数
1
解决办法
5039
查看次数

使用PowerShell,如何添加多个名称空间(其中一个是默认名称空间)?

我有一个包含两个命名空间的XML文档('default'命名空间和xlink):

  • 的xmlns = "HTTP://大使馆/模式/ dudezilla /"
  • 的xmlns:的xlink = "http://www.w3.org/1999/xlink"

如何在PowerShell代码中指定"两个"命名空间?PowerShell似乎需要默认命名空间的前缀.我该怎么做呢?

现在我有以下代码(不确定要为默认命名空间包含什么):

    [System.Xml.XmlNamespaceManager] $nsmgr = $xml.NameTable;
    $nsmgr.AddNamespace('?','http://embassy/schemas/dudezilla/');
    [System.Xml.XmlNamespaceManager] $nsmgr = $xml.NameTable;
    $nsmgr.AddNamespace('xlink','http://www.w3.org/1999/xlink');

    [System.Xml.XmlNodeList] $nodelist;
    [System.Xml.XmlElement] $root = $xml.DocumentElement;
    $nodelist = $root.SelectNodes("//image/@xlink:href", $nsmgr);

    Foreach ($xmlnode in $nodelist)
    {
        $xmlnode.Value;
    }
Run Code Online (Sandbox Code Playgroud)

谢谢!

powershell namespaces

11
推荐指数
2
解决办法
1万
查看次数

索引的列和快速搜索表

我有一个表格可以保存游戏的统计数据,这个表格中有数十万行,但我需要搜索游戏的统计页面.

我不确定在索引方面我需要做些什么以及如何在实际时间内保持表格可搜索.我通常索引作为主键的Id字段.我真的不了解索引,所以我不确定我是否正在做正确的事情.

有人可以提出一些建议吗?我正在使用MySQL数据库.

谢谢.

mysql database indexing

1
推荐指数
1
解决办法
3295
查看次数

C(HW)中的逐位饱和加法

我正在完成一项任务,我无法弄清楚如何实现这一点.我必须创建一个函数sadd(int x,int y),它返回添加在一起的数字,除非它溢出(然后只返回max possible int).我已经能够提出一些涉及强制转换和条件语句的解决方案,但解决方案中不允许这些解决方案.只有经营者〜!^ + << >>&和|.

c bit-manipulation addition saturation-arithmetic

7
推荐指数
1
解决办法
6319
查看次数

按SQL中的一系列值进行分组

我的表如下:

id | label_id | value
1  | 1        | 500
2  | 1        | 600
3  | 1        | 900
4  | 1        | 10000
5  | 1        | 300
6  | 2        | ...
....................
Run Code Online (Sandbox Code Playgroud)

现在,我想生成一个查询结果,例如:

caption        | count
Less than 500  | 1
500 to 900     | 2
Above 900      | 1
Run Code Online (Sandbox Code Playgroud)

简而言之,我正在尝试对结果集进行分区,以便按一系列值进行分组.有任何想法吗?

分区组显然是预先定义的,这意味着我提前知道我的分区方案应该是:<500,500-900,900 +等等.

谢谢!

sql sql-server

5
推荐指数
1
解决办法
2万
查看次数

Chrome - 通知用户安装您的扩展程序

我不记得它是什么网站,但是当我使用谷歌浏览器浏览主页时,我被告知该网站有一个可用于谷歌浏览器的扩展程序,并有一个安装按钮.

我找不到如何通知用户(使用chrome)的文档,当他们浏览我的网站时扩展名可用(扩展名与我网站的内容相关).我想知道如何提示用户使用原生Google Chrome通知安装或导航到扩展程序页面.

我相信Firefox扩展可以这种方式安装.

google-chrome google-chrome-extension

2
推荐指数
1
解决办法
2457
查看次数

TypeError:并非在字符串格式化期间转换所有参数

我在将CSV文件加载到mysql数据库时遇到了一些麻烦.这是我的代码:

for q in csvReader:
    name, price, LastUpdate, today = q
    co.execute("""INSERT INTO fundata (name, price, LastUpdate) VALUES(name, price, LastUpdate);""",q)
Run Code Online (Sandbox Code Playgroud)

我收到一个错误说TypeError:在字符串格式化过程中没有转换所有参数.

name列是字符串,price是float,LastUpdate是日期.我读了一下,看到一些脚本包含%(值)s和%(值)d的值(在我的情况下,而不是d我使用f),但后来我得到一个不同的错误:

TypeError:format需要映射

任何人都可以帮我告诉我我做错了什么?

谢谢!

python mysql

11
推荐指数
2
解决办法
2万
查看次数

在hadoop/pig中导入日志的多级目录

我们将日志存储在S3中,我们的一个(Pig)查询将获取三种不同的日志类型.每种日志类型都基于类型/日期的子目录集.例如:

/logs/<type>/<year>/<month>/<day>/<hour>/lots_of_logs_for_this_hour_and_type.log*
Run Code Online (Sandbox Code Playgroud)

我的查询会想要加载所有三种类型的日志,以便给予时间.例如:

type1 = load 's3:/logs/type1/2011/03/08' as ...
type2 = load 's3:/logs/type2/2011/03/08' as ...
type3 = load 's3:/logs/type3/2011/03/08' as ...
result = join type1 ..., type2, etc...
Run Code Online (Sandbox Code Playgroud)

然后我的查询将针对所有这些日志运行.

处理这个问题最有效的方法是什么?

  1. 我们需要使用bash脚本扩展吗?不确定这是否适用于多目录,我怀疑如果要加载10k日志它会有效(甚至可能).
  2. 我们是否创建了一个服务来聚合所有日志并直接将它们推送到hdfs?
  3. 自定义java/python导入程序?
  4. 其他想法?

如果您可以保留一些示例代码(如果适用),那将会有所帮助.

谢谢

hadoop apache-pig hdfs

3
推荐指数
1
解决办法
1485
查看次数