问题列表 - 第38036页

从C++迁移到C

在用C++编写了几年后,我最近在嵌入式领域的C中提供了一个编码工作.

抛开在嵌入式领域中忽略C++是对还是错的问题,C++中有一些特性/习惯用法我会错过很多.仅举几个:

  • 通用的,类型安全的数据结构(使用模板).
  • RAII.特别是在具有多个返回点的函数中,例如,不必记住在每个返回点上释放互斥锁.
  • 一般的析构函数.也就是说,你为MyClass写了一次,如果一个MyClass实例是MyOtherClass的成员,MyOtherClass就不必显式地取消初始化MyClass实例 - 它的自动调用它.
  • 命名空间.

从C++到C的经历是什么?
您找到的C替代品是您最喜欢的C++特性/习语吗?您是否发现了C++的C功能?

c c++

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

通过使用traits和with-keyword减少代码

我有一些具有相同超类型的类.因此,所有这些类都必须覆盖相同的方法.现在我可以调用一个方法并将其提交给普通超类型的对象.但是对每个提交的类型做出反应并不总是有用的,因此会引发异常.首先,我尝试解决此问题,如下所示:

def operation(s: SuperType) = s match {
  case t: SubType1 => ...
  case t: SubType2 => ...
  case _ => ...
}
Run Code Online (Sandbox Code Playgroud)

由于很多子类型,这将导致很多代码(在每个方法和每个类中),我试图解决这个问题traits.每个特征应该只测试一种类型,然后将对象转发到堆栈上的更高方法.下面的代码描述了我的想象.但这不起作用,因为编译器无法解散类型.另一个问题是我必须在每个行为类中声明类的每个属性.

object TraitWithTest {
  def main(args: Array[String]) {
    val e1 = Even(2, 4)
    val e2 = Even(1, 3)
    val o1 = Odd(1.25, 3.75)
    val o2 = Odd(7.25, 9.25)
    val a1 = All(5.5)
    val a2 = All(3.5)

    println("e1 + e2: " + (e1 + e2))
    println("o1 + o2: " + (o1 + o2))
    try { println("e1 …
Run Code Online (Sandbox Code Playgroud)

reduce scala traits

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

检查cmake中的gcc minor

是否可以在cmake中检查GCC的次要版本号?

我想做这样的事情:

If (GCC_MAJOR >= 4 && GCC_MINOR >= 3)
Run Code Online (Sandbox Code Playgroud)

gcc cross-platform build cmake version-detection

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

无法加载类型'System.Web.Mvc.ViewMasterPage <dynamic>'.?

我在IIS 6.0上部署Asp.Net MVC 2.0应用程序.当我请求任何页面时,我收到以下错误.

Parser Error Message:
Could not load type 'System.Web.Mvc.ViewMasterPage<dynamic>'.
Run Code Online (Sandbox Code Playgroud)

来源错误:

Line 1:  <%@ Master Language="C#" Inherits=
                   "System.Web.Mvc.ViewMasterPage<dynamic>" %>

Line 2:  <%@ Import Namespace="Combres.Mvc" %>
Line 3:  
Run Code Online (Sandbox Code Playgroud)

源文件:/myApp/Views/Shared/Site.Master行:1

Version Information: Microsoft .NET Framework Version:4.0.30319; 
ASP.NET Version:4.0.30319.1 
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc iis-6 .net-4.0 asp.net-mvc-2

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

装载组件无法正常工作

我尝试在C#中将程序集加载到我的源代码中.所以我首先编译源文件:

 private bool testAssemblies(String sourceName)
        {
            FileInfo sourceFile = new FileInfo(sourceName);
            CodeDomProvider provider = null;
            bool compileOk = false;

            // Select the code provider based on the input file extension.
            if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".CS")
            {
                provider = CodeDomProvider.CreateProvider("CSharp");
            }
            else if (sourceFile.Extension.ToUpper(CultureInfo.InvariantCulture) == ".VB")
            {
                provider = CodeDomProvider.CreateProvider("VisualBasic");
            }
            else
            {
                Console.WriteLine("Source file must have a .cs or .vb extension");
            }

            if (provider != null)
            {

                // Format the executable file name.
                // Build the output assembly path using the …
Run Code Online (Sandbox Code Playgroud)

.net c# assemblies

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

如何在Rails中获取URL参数?

处理POST请求时,params [:id]返回存储在已发布表单中的"id"值.

但是我想获取存储在url(查询字符串)中的值.

def some_action
  id = params[:id] # Gets id from here: /some_action?id=[VALUE] only when request.post? is false
  if request.post?
  # Do some stuff, can't get the id value from the url
  ...
end
Run Code Online (Sandbox Code Playgroud)

那么如何从POST请求中获取URL的值?

url post ruby-on-rails

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

在android中显示对话框时处理Back键

在我的应用程序中,我在onResume()中提示输入密码,在此之前我已经在onCreate()中创建了视图,因此用户必须输入密码但是如果用户按下返回键密码对话框就会消失,用户可以轻松使用该应用程序

当对话框正在显示时,如果获取后退键的键事件,那么我可以轻松处理这个目的我实现了onBackPressed()/ onKeyDown()方法的活动但是当对话框在屏幕上对话框消失后,没有得到该键的事件方法获取Back键的事件任何人都可以告诉我如何处理这种情况

提前致谢

android

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

java编译器的目标版本"jsr14"与JDK7/8

任何人都可以告诉我JDK7/8仍然可以使用jsr14目标选项javac吗?

说,

$ javac -source 1.5 -target jsr14 Hello.java
Run Code Online (Sandbox Code Playgroud)

java javac java-7

10
推荐指数
2
解决办法
1897
查看次数

C#ASP.NET MVC2路由通用处理程序

也许我正在寻找错误的东西或试图以错误的方式实现这一点.我使用Generic Handler动态生成图像.我目前可以使用以下方式访问我

ImageHandler.ashx?width=x&height=y
Run Code Online (Sandbox Code Playgroud)

我更愿意使用类似的东西访问我的处理程序

images/width/height/imagehandler
Run Code Online (Sandbox Code Playgroud)

这可能是我在谷歌上找到的几个例子与MVC2不兼容.

干杯.

c# routing generic-handler asp.net-mvc-2

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

如何计算有多少听众被吸引到一个事件?

假设我已经宣布了

public event EventArgs<SyslogMessageEventArgs> MessageReceived;

public int SubscribedClients
{
    get [...]
}
Run Code Online (Sandbox Code Playgroud)

我想算一下我班上有多少"订阅的客户".我需要通过我的API(未在片段中显示)加上那些通过网络订阅的那些加上那些channel.MessageReceived+=myMethod;.

我知道C#的事件可以明确地声明add,并remove声明,在那里我可以肯定算+或-1到本地计数器,但我从来没有写过在C#中明确事件的代码,所以我不知道到底是什么更多的执行添加和删​​除而不是更新计数器.

谢谢.

c# events

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