问题列表 - 第15827页

C中常量需要多少内存?

这样做的时候:

const int a = 5;
Run Code Online (Sandbox Code Playgroud)

我想知道是否会像变量那样得到4字节的内存?(在32位系统中)

c const

12
推荐指数
2
解决办法
5051
查看次数

"发射失败.找不到二进制文件." Snow Leopard和Eclipse C/C++ IDE问题

不是问题,我只是搜索互联网寻找这个问题的解决方案,并认为我会与SO的优秀人员分享.我会用简单的术语来说明新手可以访问它.:)(如果这是错误的地方,请道歉 - 只是试图提供帮助.)

几乎所有尝试使用Eclipse C/C++ IDE的用户OS X Snow Leopard都会出现此问题,但对于在Leopard中使用Eclipse C/C++ IDE并且无法工作的人(像我一样)特别烦人当他们升级时,再次使用Eclipse.当用户去构建/编译/链接他们的软件时,会出现问题.他们收到以下错误:

发射失败.找不到二进制文件.

此外,左侧项目窗口中的"二进制"分支根本不存在.

问题:Snow Leopard附带的GCC 4.2(GNU编译器集合)是默认情况下以64位编译二进制文件.不幸的是,Eclipse使用的链接器不理解64位二进制文​​件; 它读取32位二进制文​​件.这里可能还有其他问题,但简而言之,它们最终没有生成二进制文件,至少没有Eclipse可以读取的文件,这转化为Eclipse无法找到二进制文件.因此错误.

一种解决方案是在制作文件时添加-arch i686标志,但每次手动制作文件都很烦人.幸运的是,Snow Leopard还附带了GCC 4.0,默认情况下编译为32位.因此,一种解决方案仅仅是将其链接为默认编译器.这就是我做的方式.

解决方案:GCC位于/ usr/bin中,通常是隐藏文件夹,因此除非您明确告诉系统您要查看隐藏文件夹,否则无法在Finder中看到它.无论如何,你要做的是转到/ usr/bin文件夹并删除链接GCC命令和GCC 4.2的路径,并添加一个链接GCC命令和GCC 4.0的路径.换句话说,当您或Eclipse尝试访问GCC时,我们希望命令转到默认情况下以32位构建的编译器,以便链接器可以读取文件; 我们不希望它转到以64位编译的编译器.

执行此操作的最佳方法是转到Applications/Utilities,然后选择名为Terminal的应用程序.应该出现文字提示.它应该说"(计算机名称):〜(用户名)$"(最后为用户输入一个空格).完成上述任务的方法是输入以下命令,按顺序输入每个命令VERBATIM,然后在每个单独的行后按Enter键.

cd /usr/bin
rm cc gcc c++ g++
ln -s gcc-4.0 cc
ln -s gcc-4.0 gcc
ln -s c++-4.0 c++
ln -s g++-4.0 g++
Run Code Online (Sandbox Code Playgroud)

像我一样,您可能会收到一条错误消息,告诉您无权访问这些文件.如果是这样,请尝试以下命令:

cd /usr/bin
sudo rm cc gcc c++ g++
sudo ln -s gcc-4.0 cc
sudo ln -s gcc-4.0 gcc
sudo ln -s c++-4.0 c++
sudo ln -s g++-4.0 g++ …
Run Code Online (Sandbox Code Playgroud)

c++ eclipse executable osx-snow-leopard

23
推荐指数
5
解决办法
7万
查看次数

使用LINQ将项目移动到列表顶部

有没有办法使用LINQ将id = 10的项目作为列表中的第一项?

Item A - id =5
Item B - id = 10
Item C - id =12
Item D - id =1

在这种情况下,我如何优雅地将项目C移动到我的List<T>收藏的顶部?

这是我现在最好的:

var allCountries = repository.GetCountries();
var topitem = allCountries.Single(x => x.id == 592);  
var finalList = new List<Country>();
finalList.Add(topitem);
finalList = finalList.Concat(allCountries.Where(x=> x.id != 592)).ToList();
Run Code Online (Sandbox Code Playgroud)

c# linq sorting

77
推荐指数
5
解决办法
6万
查看次数

System.Drawing.Image流C#

System.Drawing.Image我的程序中有一个.该文件不在文件系统中,而是保存在内存中.我需要从中创建一个流.我该怎么做呢?

c# c#-3.0

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

用Python术语汇总连续范围

我有一个sumranges()函数,它对元组元组中找到的所有连续数字的范围求和.为了显示:

def sumranges(nums):
    return sum([sum([1 for j in range(len(nums[i])) if
                     nums[i][j] == 0 or
                     nums[i][j - 1] + 1 != nums[i][j]]) for
                i in range(len(nums))])

>>> nums = ((1, 2, 3, 4), (1, 5, 6), (19, 20, 24, 29, 400))
>>> print sumranges(nums)
7
Run Code Online (Sandbox Code Playgroud)

如您所见,它返回元组内连续数字的范围数,即:len((1,2,3,4),(1),(5,6),(19,20),( 24),(29),(400))= 7.元组总是有序的.

我的问题是我的sumranges()很糟糕.我讨厌看着它.我现在只是迭代元组和每个子元素,如果数字不是(1 +前一个数字),则分配1,并总计总和.我觉得我错过了一种更容易实现既定目标的方法.有没有人知道更多的pythonic方式来做到这一点?

编辑:我已经对迄今为止给出的所有答案进行了基准测试.感谢大家的回答.

基准测试代码如下,使用100K的样本大小:

from time import time
from random import randrange
nums = [sorted(list(set(randrange(1, 10) for i in range(10)))) for
        j in range(100000)]

for func in sumranges, alex, matt, redglyph, ephemient, ferdinand: …
Run Code Online (Sandbox Code Playgroud)

python

7
推荐指数
3
解决办法
638
查看次数

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

在(T)SQL中= +是什么意思?

我在SqlServer DB存储过程中发现了类似的东西:

SELECT stuff
  FROM mytable
 WHERE mytable.column = + @parameter 
Run Code Online (Sandbox Code Playgroud)

它似乎运行没有错误,所以我认为它没关系."+"会做什么?

(毫不奇怪,这是一个难以有效搜索的主题,所以如果这是重复,我会提前道歉.)

sql t-sql

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

在运行时使用反射进行转换

考虑以下代码

   public class A {

    public static void main(String[] args) {
        new A().main();
    }

    void main() {

        B b = new B();
        Object x = getClass().cast(b);

        test(x);
    }

    void test(Object x) {
        System.err.println(x.getClass());
    }

    class B extends A {
    }
}
Run Code Online (Sandbox Code Playgroud)

我期望输出"A级",但我得到"A级B级".

有没有办法将对象x转换为A.class,所以当在方法调用中使用时,运行时会认为x是A.class?

java reflection casting

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

用户名/密码数据库检查

如何改进此用户名/密码检查?

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Login(FormCollection collection)
    {
        var users =
            (from p in _dataContext.Users
            where p.Name == collection["Username"] && p.Password == collection["Password"]
             select p);

        if (users.Count() > 0)
        {
            // Login Succeed
            // To get the username I should do something like users.First().Name
            // and that's really bad...

            return RedirectToAction("Login");
        }
        else
        {
            // Login Faild
            return View();
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# linq authentication linq-to-sql

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

如何为PHPer最快地掌握java和ruby?

我一直在使用PHP.

有关这两种语言的建议吗?

php ruby java

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