小编Jos*_*ews的帖子

如何摆脱GCC中从字符串常量到'char*''警告的弃用转换?

所以我正在开发一个非常大的代码库,最近升级到gcc 4.3,它现在触发了这个警告:

警告:不推荐将字符串常量转换为'char*'

显然,解决这个问题的正确方法是找到每个声明

char *s = "constant string";
Run Code Online (Sandbox Code Playgroud)

或函数调用如:

void foo(char *s);
foo("constant string");
Run Code Online (Sandbox Code Playgroud)

并使他们成为const char指针.但是,这意味着触及564个文件,最小,这不是我希望在此时执行的任务.现在的问题是我正在运行-werror,所以我需要一些方法来扼杀这些警告.我怎样才能做到这一点?

c++ string gcc

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

如何从C运行外部程序并解析其输出?

我有一个实用程序可以输出游戏所需的文件列表.如何在C程序中运行该实用程序并获取其输出,以便我可以在同一程序中对其执行操作?

更新:很好地呼吁缺乏信息.该实用程序吐出一系列字符串,这应该是完全可移植的Mac/Windows/Linux.请注意,我正在寻找一种程序化的方法来执行该实用程序并保留其输出(转到stdout).

c external-process

59
推荐指数
4
解决办法
6万
查看次数

发送SVN会提交到RSS源

所以我最喜欢的网络工具Subtlety最近停产了,这意味着我不再能够轻松访问我所遵循的各种SVN项目的提交日志.有没有其他工具可以轻松地为公共SVN回购提供RSS提交源?

svn rss

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

为什么ARG_MAX没有通过limits.h定义?

在Fedora Core 7上,我正在编写一些依赖的代码ARG_MAX.但是,即使我#include <limits.h>,常数仍未定义.我的调查显示它存在<sys/linux/limits.h>,但这应该可以在Win32/Mac/Linux上移植,所以直接包含它不是一个选项.这里发生了什么?

linux limits

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

如何从bzr post-commit钩子获取提交消息?

我正在尝试为我的私有bugtracker写一个bzr post-commit钩子,但是我坚持使用post_commit的函数签名(local,master,old_revno,old_revid,new_revno,mew_revid).如何使用Python中的bzrlib从中提取分支的提交消息?

python dvcs bazaar

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

设置QTMovie属性

我正在尝试通过QTKit创建一个QTVR电影,我已经获得了电影中的所有帧.但是,设置必要的属性似乎没有任何影响.例如:

NSNumber *val = [NSNumber numberWithBool:YES];
[fMovie setAttribute:val forKey:QTMovieIsInteractiveAttribute];

val = [NSNumber numberWithBool:NO];
[fMovie setAttribute:val forKey:QTMovieIsLinearAttribute];
Run Code Online (Sandbox Code Playgroud)

如果我然后得到这些属性的值,它们分别为NO和YES.电影是可编辑的,所以我无法理解我在这里做错了什么.如何确保属性实际发生变化?

macos cocoa quicktime qtkit

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

从NSColor中提取32位RGBA值

我有一个NSColor,我真的想要它代表的32位RGBA值.有没有什么简单的方法来获得这个,除了提取浮动组件,然后乘法和ORing,并通常做粗,依赖于endian的事情?

编辑:谢谢你的帮助.真的,我所希望的是一个Cocoa功能已经做到了这一点,但我自己很酷.

cocoa core-graphics

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

获取字体的最大高度

所以我有一个NSFont,我想获得任何角色的最大尺寸,即.音高和字母高度.[font maximumAdvancement]似乎返回{pitch,0}的NSSize,所以这没有帮助.绑定rect似乎也不起作用,并且jwz类似的创建bezier路径,附加字形和获取边界矩形的问题的建议也让我回到{0,0}.什么给这里?

更新:我用来获得bezier大小的代码是这样的:

NSBezierPath *bezier = [NSBezierPath bezierPath];
NSGlyph g;
{
    NSTextStorage *ts = [[NSTextStorage alloc] initWithString:@" "];
    [ts setFont:font];
    NSLayoutManager *lm = [[NSLayoutManager alloc] init];
    NSTextContainer *tc = [[NSTextContainer alloc] init];
    [lm addTextContainer:tc];
    [tc release]; // lm retains tc
    [ts addLayoutManager:lm];
    [lm release]; // ts retains lm
    g = [lm glyphAtIndex:0];
    [ts release];
}
NSPoint pt = {0.0f};
[bezier moveToPoint:pt];
[bezier appendBezierPathWithGlyph:g inFont:font];
NSRect bounds = [bezier bounds];
Run Code Online (Sandbox Code Playgroud)

fonts cocoa rendering objective-c

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