问题列表 - 第31257页

与汇编相比,C效率低吗?

可能重复:
汇编程序什么时候比C快?

你好,

这纯粹是一个理论问题,因此,如果有一个"无限"时间来制作一个简单的程序,以及对C和汇编的高级知识,那么在汇编中做一些事情真的更好吗?将C编译成汇编(机器代码)时,"性能"会丢失吗?

根据性能我的意思是,现代C编译器在某些任务中做得不好,直接在Assembly中编程加速吗?

谢谢.

c compiler-construction assembly

7
推荐指数
6
解决办法
5203
查看次数

如何在cakephp 1.3中使用独立类?

我有一个用PHP编写的独立类,用于一些非常基本的LDAP/AD函数.我想在我正在使用cakephp的项目中使用这个类.

它看起来像在cakephp 1.2中我可以将该类添加为供应商,但看起来像cakephp 1.3删除了对供应商的支持.那么我该如何从这个类中调用一些函数呢?

(我想尝试保持类本身相同而不是把它变成插件,因为这似乎是不必要的)

谢谢!

代码如下:

**<?php
class UsersController extends AppController {

var $name = 'Users';

    //commented out because it breaks the script
    //App::import('Lib', 'ldap');


function index() {
    $this->User->recursive = 0;
    $this->set('users', $this->paginate());
}

    function login() {

        if (!empty($this->data)) {
                if ($ldap->auth($this->data['User']['user'],$this->data['User']['password'])) {
                        $this->Session->setFlash(__('The user has been saved', true));
                        $this->Session->write('user', $this->data['User']['user']);
                        $this->redirect(array('action' => 'index'));
                } else {
                        $this->Session->setFlash(__('Login Failed', true));
                }
        }
    }

    function logout() {
        $this->Session->delete('user');
        $this->redirect($this->referer());

    }

function view($id = null) {
    if (!$id) {
        $this->Session->setFlash(__('Invalid user', …
Run Code Online (Sandbox Code Playgroud)

php cakephp class cakephp-1.3

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

一个(有点模糊)Javascript继承问题

我一直在尝试Javascript中的设计模式,这将允许我拥有可以被实例函数覆盖的单例函数.

这是一个简短的例子:

Date.tomorrow = function () {
  return Date.today().add(1).days();
}

(function(p) {

  p.tomorrow = function() {
    var date = this.clone().clearTime();
    return date.equals(Date.tomorrow());
  }

})(Date.prototype);
Run Code Online (Sandbox Code Playgroud)

所以有两个tomorrow()功能.直接从Date函数调用时:

>>> Date.tomorrow()
=>  Fri Jul 23 2010 00:00:00 GMT-0500 (CST) { _orient=1,  more...}
Run Code Online (Sandbox Code Playgroud)

但是,当您首先实例化Date实例时:

>>> var date = new Date()
>>> date.tomorrow()
=>  false
Run Code Online (Sandbox Code Playgroud)

我很遗憾,因为我相信你能分辨出来,但希望你能明白这一点.我的问题是:第一个tomorrow()函数与Date对象的关系是什么?究竟是什么附属于什么?

假设您使用的是普通函数,而不是构造函数.是否可以从原始函数中调用增强函数?

在构造函数中,您可以这样做:

this.constructor.functionName();
Run Code Online (Sandbox Code Playgroud)

但如果该函数未被用作构造函数,显然该constructor引用将不存在.有没有其他方法来访问增强功能?

这个问题背后的动力源于我重新组织项目JS代码的工作.我们正在实现Sprockets系统将我们的源代码分解为模块,其中基本上是在我们去的时候装饰一个基本命名空间,而不是将它们全部打包在一个不可读的内联对象定义中.

我们有一些非常大的事件连接,这很好分成单独的函数,但我宁愿不必单独调用每个函数; 相反,我想要一个可以一次调用所有子功能的超级功能.

我总是可以创建一个all()函数或者其他东西来实现这一点,但是如果调用顶级函数执行所有附加到它的子函数,那么从API的角度看它会更清晰.


感谢Francisco的回应,我现在正在实现我的想法.这是一个例子,以防任何人好奇.

var Namespace = {};

var Namespace.wireup = (function () {

  return …
Run Code Online (Sandbox Code Playgroud)

javascript oop inheritance prototype function

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

如何在不退出程序的情况下退出方法?

我仍然是C#的新手,与C/CPP相比,我很难习惯它.

如何在不退出程序的情况下退出C#上的函数,就像这个函数一样?

if (textBox1.Text == "" || textBox1.Text == String.Empty || textBox1.TextLength == 0)
    textBox3.Text += "[-] Listbox is Empty!!!!\r\n";
System.Environment.Exit(0);
Run Code Online (Sandbox Code Playgroud)

这将不允许返回类型,如果单独留下它将继续通过未停止的函数继续.这是不可取的.

c# methods return exit

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

向C语言编程人员展示您的共同程序员在类中尚未实现某些方法的方法

在以下情况下可以使用哪些方法

  • 你通过一个小的C++项目与几个(例如1-3个)其他程序员一起工作,你使用一个存储库
  • 你创建一个类,声明它的方法
  • 你还没有时间实现所有方法
  • 你不希望其他程序员使用你的代码(因为它还没有实现); 或者不想使用尚未实现的代码部分
  • 你没有时间/可能告诉你同事所有这些尚未实现的东西
  • 当你的同事使用你尚未实现的代码时,你希望他们立即意识到他们不应该使用它 - 如果他们收到错误你不想让他们想知道什么是错的,搜索潜在的错误等等.

c++ error-handling compiler-errors notimplementedexception

9
推荐指数
6
解决办法
2241
查看次数

Factory Method模式,用于避免基于条件逻辑的对象实例化

在下面的场景中,对象需要根据某些条件逻辑进行实例化,工厂方法模式是否有助于避免客户端代码由于if/elseif条件的数量而变得混乱(如果越来越多,这也将是一个维护噩梦由于逻辑的不同变化,需要创建产品.

或者是否有任何其他设计模式可以拯救?

public interface IProduct
{
    void Method1();
}

public class ProductA : IProduct
{
    void Method1()
    {
    }
}

public class ProductB : IProduct
{
    void Method1()
    {
    }
}

public class ProductC : IProduct
{
    void Method1()
    {
    }
}

public class Client
{
    public void Test()
    {
        int count = 5;

        IProduct product;

        if (count < 10)
        {
            product = new ProductA();
        }
        else if (count == 10)
        {
            product = new ProductB();
        }
        else …
Run Code Online (Sandbox Code Playgroud)

design-patterns factory-pattern

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

我可以强制C预处理器生成新行吗?

可能重复:
如何让预处理器将换行符插入宏扩展结果?

#define IDENTIFIER { /*new line here*/\
            my_multiline(); /*new line here*/\
            macro(); /*new line here*/\
        } /*new line here*/
Run Code Online (Sandbox Code Playgroud)

我可以强制C预处理器在其扩展中生成新行吗?我不相信有一种标准的方法可以做到这一点,但我不介意Visual C++(2008)和gcc的平台特定黑客.

我对通过m4或单独的预处理器执行此操作不感兴趣.

为什么我问这个:

这或多或少只是好奇心.因为它是一个黑客,我不会在生产中尝试这个,但我想知道我是否能够这样做.几天前,我偶然发现了这个问题:

你能否为特定位置包含的任何标题关闭(特定)编译器警告?

这是一个我自己想要解决的问题.我考虑过创建一个包含标题的宏,但是使用正确的pragma来禁用包含之前的警告,包括我要关闭警告的标题,在include之后启用警告.

当然,我可以创建一个脚本来生成模拟包含警告和包含的pragma.

我的第一个问题是,由于#include是一个预处理器指令,宏生成它有点无用.但后来我找到了这个答案:

有没有办法在另一个#define中进行#define?

有了这个,我相信如果我能够强制编译器在它的扩展中生成换行符,我可以生成特殊的包含宏.

我现在在家,但明天我在工作时会发布我的代码.

c++ c-preprocessor

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

如何在计算机之间同步Resharper设置?

我在家里有一台工作电脑和一台笔记本电脑,我开始使用Resharper.不幸的是,每次添加实时模板或更改格式设置时,我都必须在计算机之间导出和导入设置/模板.

对于visual studio设置,我使用自动将我的设置保存到此文件选项以及Dropbox上的文件来完成此操作.有没有办法用Resharper设置/模板做到这一点?

c# resharper settings visual-studio

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

管理大量Azure队列

我的部分申请包括"聊天"系统.我为每个用户维护一个队列.发送给用户的消息被放入队列中,用户的软件定期轮询休息服务以获取新消息,此时队列被抽取消息,然后返回给用户.

该系统非常简单,运行良好,并且我需要它完成所有工作.

我的问题是; 我有数百个(很快就有数千个)队列混乱了应用程序的队列列表.

我还有其他的队列,而且令我不安的是,我不能像blob存储中的东西一样"组织"它们.

我是否遗漏了某些内容,或者我应该忽略队列列表,并依赖于这样一个事实:当用户来来往往时,我正在正确管理队列的创建和删除?

azure azure-storage azure-queues

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

何时使用<appSettings>部分优先于自定义配置部分?

在创建应用程序或库的配置时,我通常更喜欢在该<appSettings>部分上使用自定义配置部分,原因如下.

  • 框架序列化到用户定义的配置对象; 每个配置值都有适当的类型
  • 可以针对具有属性的类型和值范围验证配置值

鉴于此,何时我想使用该部分的松散类型<add/>键/值机制<appSettings>?我记得,本节中的应用程序级配置可以覆盖machine.config中的现有机器级配置.这是唯一的情况,还是有其他原因?

.net configuration configurationmanager appsettings custom-configuration

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