小编Geo*_*che的帖子

为什么个人软件项目会失败?(即旨在获得全职收入的项目)

个人项目(软件应用程序等)从未达到与您的薪水竞争的主要原因是什么?

对我来说,一个大问题是"即时"功能扩展,有了这个问题,最终只会越走越远!

project-management misv

16
推荐指数
7
解决办法
1548
查看次数

针对不同的目标体系结构进行编译和优化

简介:我想利用编译器优化和处理器指令集,但仍然有一个可移植的应用程序(在不同的处理器上运行).通常我可以编译5次,让用户选择正确的运行.

我的问题是:我怎样才能自动执行此操作,以便在运行时检测处理器并执行正确的可执行文件而无需用户选择它?


我的应用程序有很多低级数学计算.这些计算通常会持续很长时间.

我想利用尽可能多的优化,最好也是(并不总是支持)指令集.另一方面,我希望我的应用程序可移植且易于使用(因此我不想编译5个不同的版本并让用户选择).

是否有可能编译我的代码的5个不同版本并动态运行在执行时可能的最优化版本?有5个不同的版本,我的意思是不同的指令集和不同的处理器优化.

我不关心应用程序的大小.

此刻我在Linux上使用gcc(我的代码是用C++编写的),但我对英特尔编译器和MinGW编译器的编译也感兴趣.

可执行文件不一定能够在不同的操作系统上运行,但理想情况下也可以自动选择32位和64位.

编辑:请明确指示如何操作,最好使用小代码示例或解释链接.从我的角度来看,我需要一个超级通用的解决方案,它适用于我后来的任何随机C++项目.

编辑我将奖金分配给了ShuggyCoUk,他有很多指针需要注意.我本来希望在多个答案之间拆分,但这是不可能的.我还没有实现,所以问题仍然是"开放"!请继续添加和/或改进答案,即使不再给予奖励.

谢谢大家!

c++ optimization gcc compilation

16
推荐指数
4
解决办法
4166
查看次数

g ++/clang超快速解析但不是编译模式?

对于g ++/clang,是否有一些超快速的"语法检查我的代码,但不编译模式"?唯一的目标是检查我的代码是否是有效的C++代码?

c++ g++ clang

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

在C++中编译时间类型确定

一位同事最近向我展示了他在网上找到的一些代码.它似乎允许编译时间确定类型是否与另一种类型具有"是"关系.我认为这非常棒,但我不得不承认我对这实际上是如何运作一无所知.任何人都可以向我解释这个吗?

template<typename BaseT, typename DerivedT>
inline bool isRelated(const DerivedT&)
{
    DerivedT derived();
    char test(const BaseT&); // sizeof(test()) == sizeof(char)
    char (&test(...))[2];    // sizeof(test()) == sizeof(char[2])
    struct conversion 
    { 
        enum { exists = (sizeof(test(derived())) == sizeof(char)) }; 
    };
    return conversion::exists;
} 
Run Code Online (Sandbox Code Playgroud)

定义此函数后,您可以像这样使用它:

#include <iostream>

class base {};
class derived : public base {};
class unrelated {};

int main()
{
    base b;
    derived d;
    unrelated u;

    if( isRelated<base>( b ) )
        std::cout << "b is related to base" << std::endl;

    if( isRelated<base>( …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance templates types

16
推荐指数
4
解决办法
3103
查看次数

一个简单的谷歌Chrome世界NPAPI插件?

我正在尝试制作Chrome插件,但Chrome API并没有给我足够的力量.我想使用NPAPI,但我不知道如何使用它,但我确实有Visual C++的经验.

有人可以在C++应用程序中向我展示一个"Hello world",这样我就可以开始了吗?

c++ google-chrome npapi browser-plugin

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

initializer_list在VC10中不起作用

我在VC++ 2010中编写了这个程序:

class class1
{
public:
 class1 (initializer_list<int> a){};
 int foo;
 float Bar;
};
void main()
{
 class1 c = {2,3};
 getchar();
}
Run Code Online (Sandbox Code Playgroud)

但是当我编译项目时我得到这个错误:

错误1错误C2552:'c':无法使用初始化程序列表初始化非聚合c:\ users\pswin\documents\visual studio 2010\projects\test_c ++ 0x\test_c ++ 0x\main.cpp 27

2 IntelliSense:对于类型为"class1"的对象,不允许使用"{...}"进行初始化c:\ users\pswin\documents\visual studio 2010\projects\test_c ++ 0x\test_c ++ 0x\main.cpp 27

问题是什么?

c++ initializer-list visual-c++ visual-c++-2010 c++11

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

Django多表继承VS在模型中指定显式的OneToOne关系

希望这一切都有道理:)如果有必要,我会通过评论澄清.另外,我正在尝试在这个问题中使用粗体文本,如果我(或你)发现它分散注意力,我会编辑它.随着那个...

使用django.contrib.auth为我们提供了用户和组,以及其他一些我不能没有的有用的东西(比如基本消息).

在我的应用程序中,我有几种不同类型的用户.用户只能是一种类型.这可以很容易地由小组处理,稍微小心点.但是,这些不同的用户在层次结构/关系中彼此相关.

我们来看看这些用户: -

校长 - "顶级"用户

管理员 - 每个管理员向校长报告

协调员 - 每个协调员向管理员报告

除此之外,还有其他用户类型不直接相关,但可能会在以后相关.例如,"公司"是另一种类型的用户,并且可以具有各种"产品",并且产品可以由"协调员"监督."买方"是另一种可能购买产品的用户.

现在所有这些用户都有各种其他属性,其中一些属性对所有类型的用户都是通用的,其中一些属性仅与一种用户类型不同.例如,所有类型的用户都必须拥有一个地址.另一方面,只有Principal用户属于"BranchOffice".

另一点,如上所述,用户只能是一种类型.

该应用程序还需要跟踪谁创建和/或修改了校长,管理员,协调员,公司,产品等.(这是用户模型的另外两个链接.)

在这种情况下,使用Django的多表继承是一个好主意如下: -

from django.contrib.auth.models import User
class Principal(User):
    #
    #
    #    
    branchoffice = models.ForeignKey(BranchOffice)
    landline = models.CharField(blank=True, max_length=20)    
    mobile = models.CharField(blank=True, max_length=20)
    created_by = models.ForeignKey(User, editable=False, blank=True, related_name="principalcreator")    
    modified_by = models.ForeignKey(User, editable=False, blank=True, related_name="principalmodifier")
    #
    #
    #
Run Code Online (Sandbox Code Playgroud)

或者我应该这样做: -

class Principal(models.Model):
    #
    #
    #
    user = models.OneToOneField(User, blank=True)
    branchoffice = models.ForeignKey(BranchOffice)
    landline = …
Run Code Online (Sandbox Code Playgroud)

django inheritance multi-table

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

ANSI C(ISO C90):scanf可以读取/接受unsigned char吗?

简单的问题:scanf可以读取/接受"小整数"到ANSI C中的unsigned char吗?

示例代码un_char.c:

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    unsigned char character;

    scanf("%hhu", &character);

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

编译为:

$ gcc -Wall -ansi -pedantic -o un_char un_char.c
un_char.c: In function ‘main’:
un_char.c:8: warning: ISO C90 does not support the ‘hh’ gnu_scanf length modifier
Run Code Online (Sandbox Code Playgroud)

hhISO C90不支持.那么在这种情况下可以使用什么scanf转换?

c gcc scanf c89

15
推荐指数
2
解决办法
5713
查看次数

如何在Clojure中调用重载的Java方法

对于此示例Java类:

package foo;
public class TestInterop
{   public String test(int i)
    { return "Test(int)"; }

    public String test(Object i)
    { return "Test(Object)"; }
}
Run Code Online (Sandbox Code Playgroud)

当我启动Clojure并尝试调用test(int)方法时,将调用test(Object)方法,因为Clojure会自动将整数写入java.lang.Integer对象.

如何强制Clojure调用test(int)方法?

user=> (.test (new foo.TestInterop) 10)
"Test(Object)"
Run Code Online (Sandbox Code Playgroud)

我想调用类似于Component.add(Component comp, int index)AWT的方法,而是继续调用add(Component comp, Object constraints),因此工具栏上的按钮总是以错误的顺序出现.

java overloading clojure

15
推荐指数
2
解决办法
2518
查看次数

解决所有IE6问题

所有IE6问题都有一个解决方案吗?一个HTC/jQuery文件修复IE6问题,如PNG,背景位置,悬停,(甚至)圆角...

我太累了,无法查找所有修复程序,测试它们并将它们单独放入.

css jquery internet-explorer internet-explorer-6

15
推荐指数
5
解决办法
2545
查看次数