小编jdm*_*jdm的帖子

使用命令行选项包含头文件?

是否可以指定要从命令行包含的额外头文件(使用GCC 4/C++)?

或者除了#include之外还有其他方式可以包含文件吗?

背景:我正在尝试在自己的PC上编译大型代码库.代码通常是在一个集群中编译的,它有一个复杂的构建系统(SoftRelTools anybody?),它与操作系统交织在一起,因此几乎不可能在其他地方安装它(实际上是数百个makefile和shell脚本,而且很难网络驱动器的编码路径).但是,实际的代码相当简单,编译得很好,但它缺少很多包含(大多数是la" include <vector>"和" include <math.h>").我猜测构建系统通常会处理这个问题,但我必须通过代码并手动添加包含,我宁愿避免.

c++ gcc include

66
推荐指数
3
解决办法
5万
查看次数

创建自定义谷歌现在卡

Google为Google即时(http://www.google.com/landing/now/)提供了各种"卡片" .是否可以创建自己的卡?该系统看起来非常模块化,但我没有找到任何文档或说明.(我相信你需要提供卡的内容,以及应该显示的信号的某种方式.你可能只需要实现一些接口.)

如果没有文档化的解决方案,那么hackish/notocumented方式也可以.我很好奇它是如何运作的.

编辑:具体来说,有人知道Google Now的内部,例如通过反编译.apk?我所看到的表明它是非常模块化的,并且应该很容易将另一个类放入.apk,或者使用Cydia Substrate注入代码.我知道(截至2013年11月)没有正式的方式来添加新卡.

android google-now

58
推荐指数
3
解决办法
3万
查看次数

在android源代码中构建一个特定的模块

我正在处理从source.android.com下载的android源代码.

完成构建后,我浏览了这个网站http://elinux.org/Android_Build_System,它解释了android构建系统.

当我在外部/ webkit代码中进行更改并使用它进行构建时

make -j4 libwebcore它编译相应的文件并更新libwebcore.so,它节省了我很多时间.同样的事情适用于应用程序,也适用于构建apks.

当我在框架中进行更改并将命令作为 make -j4 framework 不编译相应文件时,会出现问题.谁能帮我!

android android-source

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

在python中获取排序唯一列表的最快方法?

在python中获取排序,唯一列表的禁区方法是什么?(我有一个可清洗的东西列表,并希望有一些我可以迭代的东西 - 无论列表是否被修改到位,或者我得到一个新的列表,或者是一个可迭代的.在我的具体用例中,我'使用一次性列表执行此操作,因此就可以提高内存效率.)

我见过类似的解决方案

input = [5, 4, 2, 8, 4, 2, 1]
sorted(set(input))
Run Code Online (Sandbox Code Playgroud)

但在我看来,首先检查唯一性然后排序是浪费的(因为当您对列表进行排序时,您基本上必须确定插入点,因此将唯一性测试作为副作用).也许还有更多类似于unix的东西

cat list | sort | uniq
Run Code Online (Sandbox Code Playgroud)

只是在已经排序的列表中选择连续重复?


请注意" 在Python中使用最快化的列表方法 "这个问题 ,列表没有排序,并且' 在Python列表中进行排序加uniq的最简洁方法什么?'要求最干净/最pythonic的方式,并且接受的答案表明sorted(set(input)),我正在努力改进.

python sorting optimization

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

忽略TS6133:"(导入)已声明但从未使用过"?

在处理TypeScript项目时,我注释掉了一行,并得到了错误:

编译失败

./src/App.tsx
(4,8): error TS6133: 'axios' is declared but never used.
Run Code Online (Sandbox Code Playgroud)

在构建期间发生此错误,无法解除.

错误是对的,我正在导入axios,但我想暂时注释掉这个调用axios.get.我很欣赏这个错误,因为它保持了我的进口清洁,但在早期开发过程中非常具有破坏性.

有什么方法可以禁用或忽略该警告?

typescript

18
推荐指数
3
解决办法
9554
查看次数

用于图形的RGB子像素渲染?

我想知道是否有任何图形库支持一般图形的RGB子像素渲染(如ClearType),而不仅仅是文本.这将使水平分辨率几乎增加三倍,并将图形放在第三像素x位置.

虽然我认为这会非常有用,但我在互联网上找不到相关内容,除了以下内容:

例如,是否存在实现此目的的库,或者是否正在努力将这样的东西带到开罗图书馆?


更新:

我特指渲染技术,考虑到当前的LCD屏幕使用不同颜色的子像素.要制作白点,请将所有子像素设置为"打开"或255.白线将是几个子像素在彼此的顶部:

...RGB...
...RGB...
...RGB...
...RGB...
...RGB...
...111...
Run Code Online (Sandbox Code Playgroud)

(其中,.是全黑的子象素,和R,G或者B被完全点亮红,绿,或蓝的子像素).因为我们的眼睛无法分辨子像素,所以它们混合在一起形成一条白线.然而,我也可以从以下方面做出白线:

....GBR..
....GBR..
....GBR..
....GBR..
....GBR..
....111..
Run Code Online (Sandbox Code Playgroud)

请注意,它非常清晰,但位于x = 1 1/3像素处.对于传统的渲染技术而言,这是不可能的,而这种渲染技 例如,这里R= 70%点亮,r= 30%点亮.我没有计算出数学,这只是让你明白了:

...RGBrgb...
...RGBrgb...
...RGBrgb...
...RGBrgb...
...RGBrgb...
...777333...
Run Code Online (Sandbox Code Playgroud)

另一个例子是斜率,你可以做a)全像素,b)抗锯齿,或c)子像素渲染:

a)  RGB......  b)  RGB......  c)  RGB......
    RGB......      RGBrgb...      .GBR.....
    ...RGB...      rgbRGB...      ..BRG....
    ...RGB...      ...RGB...      ...RGB...
    ...RGB...      ...RGBrgb      ....GBR..
    ......RGB      ...rgbRGB      .....BRG.
    ......RGB      ......RGB      ......RGB
Run Code Online (Sandbox Code Playgroud)

再次注意,这只是一个粗略的例子,可以给你一般的想法,但是你会发现a)是锯齿状或锯齿状的,b)模糊不清,c)就像你在LCD上得到它一样清晰.

对于字体显示(Windows上的ClearType和FreeType中的子像素渲染)的实际实现具有更复杂的算法.它们考虑到各个子像素相互渗透或发光,它们保留了总的颜色强度或能量.它们还考虑到子像素间距不均匀(R和G之间的间隔,或G和B(在像素中)可能小于B和R之间的间距),并且最终一些显示器具有完全不同的像素布局.

vector-graphics subpixel

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

python对象的查询语言

我正在寻找一个允许我在python"对象数据库"上运行类似SQL的查询的库.对于对象数据库,我指的是内存中相当复杂的python对象和列表结构.基本上这将是一个"反向ORM" - 它不是为关系数据库提供面向对象的接口,而是为对象数据库提供SQL-ish接口.

C#的LINQ非常接近.Python的列表推导非常好,但是在执行复杂的事情(排序,连接等)时语法会变得毛茸茸.此外,我不能(轻松)使用列表推导动态创建查询.

实际语法可以是基于字符串的,也可以使用面向对象的DSL(来自(mylist).select(...)).如果图书馆提供某种索引来加速搜索,奖励积分.

这是存在还是我必须发明它?

python object-oriented-database

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

在C++库接口中安全地使用容器

在设计C++库时,我认为std::vector在公共接口中包含标准库容器是不好的做法(参见例如在dll导出函数中使用std :: vector的含义).

如果我想公开一个获取或返回对象列表的函数,该怎么办?我可以使用一个简单的数组,但后来我必须添加一个count参数,这使得界面更麻烦,更不安全.map例如,如果我想使用a ,它也无济于事.我想像Qt这样的库定义了自己的容器,这些容器可以安全地导出,但是我宁愿不把Qt作为依赖项添加,而且我不想滚动自己的容器.

在库接口中处理容器的最佳做法是什么?是否可能有一个小容器实现(最好只有一两个文件,我可以使用许可许可证),我可以用作"粘合剂"?或者甚至有一种方法可以使std::vector.DLL/.so边界和不同的编译器安全等等?

c++ containers api-design

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

在Windows RT上运行为ARM编译的Win32应用程序

假设我有一个使用Win32 API的桌面程序,但是为ARM体系结构编译.如何让它在Windows RT(适用于ARM平板电脑的Windows 8的受限版本)上运行?Windows RT拒绝在没有Microsoft签名的情况下运行此类应用程序.

我知道没有正式的方法可以做到这一点,但是说它是用于内部部署,或仅用于测试目的.我有什么选择?

(见这个答案为Win32 API在Windows RT(不neccessarily地铁应用程序的可用性,但存在于系统),并且这个答案对于如何编译使用VS2012 ARM Win32程序.)

arm windows-8

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

一起构建clang和libc ++的正确方法(bootstrap)

我想建立一个最近的clang + llvm + libc ++.我目前正在使用一个系统(基于CentOS 6.6),我不能轻易获得clang的二进制包,但是我可以通过设置一些环境变量来建立一个足够用于构建clang(例如4.9)的GCC.

我想要我的铿锵声

  • 便携式,即没有硬编码路径(例如使用-rpath $ORIGIN)
  • 既不依赖于系统gcc也不依赖于导入的gcc 4.9(即他们的C/C++运行时)
  • 特别是,编译器,编译器作为库libclang.so,以及使用新编译器构建的程序都不应该依赖于libstdc ++,但它们应该使用新构建的libc ++.

我可以做到这一点,但它涉及将clang,llvm,libc ++,libc ++ abi(以及我可能忘记的事情)放在一棵树上,从一个构建目录构建clang,然后盲目地设置很多标志并再次从第二个构建目录.

是否有另一种适当的方式来引导libc ++?我相信一定有,因为llvm&clang的官方二进制文件就像我上面描述的那样是自给自足的.

cmake clang clang++ libc++

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