问题列表 - 第22936页

关于__sync_synchronize()的c ++ 98中的C++ 0x原子实现问题

我编写了followin原子模板,以模仿即将推出的c ++ 0x标准中可用的原子操作.

但是,我不确定在返回基础值时我有__sync_synchronize()调用是必要的.

根据我的理解,__sync_synchronize()是一个完整的内存屏障,我不确定在返回对象值时我需要这么昂贵的调用.

我很确定在值的设置周围需要它,但我也可以用程序集来实现它.

__asm__ __volatile__ ( "rep;nop": : :"memory" );
Run Code Online (Sandbox Code Playgroud)

有谁知道我确实需要在返回对象时使用synchronize().

M.

template < typename T >
struct atomic
{
private:
    volatile T obj;

public:
    atomic( const T & t ) :
        obj( t )
    {
    }

    inline operator T()
    {
        __sync_synchronize();   // Not sure this is overkill
        return obj;
    }

    inline atomic< T > & operator=( T val )
    {
        __sync_synchronize();   // Not sure if this is overkill
        obj = val;
        return *this;
    }

    inline T …
Run Code Online (Sandbox Code Playgroud)

c++ templates atomic c++11

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

字符串划分

我想打印字符串"我的名字是xxx"作为"xxx是我的名字"而不使用特殊方法(如java中的util包方法); 谢谢

java string

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

SQL Server确定表列的物理大小

是否有可能找出表中各列的数据大小(KB或MB)?我有一个脚本告诉我每个表的物理大小,但我想知道数据库中的某些列占用了多少,特别是当我将XML存储在列中时.

任何帮助非常感谢

干杯

sql-server

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

删除WPF控件使用的图像

我想将一个Image绑定到某种控件上,稍后将其删除.

path = @"c:\somePath\somePic.jpg"
FileInfo fi = new FileInfo(path);
Uri uri = new Uri(fi.FullName, UriKind.Absolute);
var img = new System.Windows.Controls.Image();
img.Source = new BitmapImage(uri);
Run Code Online (Sandbox Code Playgroud)

现在这段代码之后我想删除该文件:

fi.Delete();
Run Code Online (Sandbox Code Playgroud)

但是我不能这样做,因为现在正在使用图像.在代码片段1和2之间我可以做什么来释放它?

c# wpf file-locking

5
推荐指数
2
解决办法
4200
查看次数

Haskell案例中的范围检查?

是否有一种在Haskell中执行以下操作的有效方法:

case n of
    0     -> doThis
    1     -> doThat
    2     -> doAnother
    3..99 -> doDefault
Run Code Online (Sandbox Code Playgroud)

除了拥有97行"doDefault"之外?

haskell case

6
推荐指数
2
解决办法
4050
查看次数

将System.Net.mail.MailMessage保存为.msg文件

我正在构建一个应用程序,我有义务创建一个MailMessage(System.Net.mail.MailMessage)并将其保存在磁盘上,因为.msg扩展名不是.eml

下面是我用来将MailMessage保存为.msg文件的方法:

   public static void Save(MailMessage Message, string FileName)
    {
        Assembly assembly = typeof(SmtpClient).Assembly;
        Type _mailWriterType =
          assembly.GetType("System.Net.Mail.MailWriter");

        using (FileStream _fileStream =
               new FileStream(FileName, FileMode.Create))
        {
            // Get reflection info for MailWriter contructor
            ConstructorInfo _mailWriterContructor =
                _mailWriterType.GetConstructor(
                    BindingFlags.Instance | BindingFlags.NonPublic,
                    null,
                    new Type[] { typeof(Stream) },
                    null);

            // Construct MailWriter object with our FileStream
            object _mailWriter =
              _mailWriterContructor.Invoke(new object[] { _fileStream });

            // Get reflection info for Send() method on MailMessage
            MethodInfo _sendMethod =
                typeof(MailMessage).GetMethod(
                    "Send",
                    BindingFlags.Instance | BindingFlags.NonPublic);

            // …
Run Code Online (Sandbox Code Playgroud)

.net c# email msg mailmessage

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

Java中的易失性与静态性

说这static意味着所有对象的值的volatile一个副本并且意味着所有线程的值的一个副本是否正确?

无论如何,static变量值也将成为所有线程的一个值,那么我们为什么要这样做volatile呢?

java concurrency static multithreading volatile

260
推荐指数
5
解决办法
14万
查看次数

在 html 和 css 中加载图像的顺序

我可以编程(或如我们在谈论htmlcss,语义)决定以何种顺序应该图像负荷?

我想先加载背景图像,然后调用 som javascript $(window).load,将它留在浏览器上是否足够(例如,body-background 在线40,其他图像稍后在 css 文件中)或者我是否必须使用 javascript(如果是的,有什么简单的解决方案吗?)

谢谢你。

编辑:原因是我可以在加载图像时显示通知“正在加载...”,但是如果不至少看到背景,首先加载的部分将没有意义,因此必须先加载背景。

html javascript css image

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

C#: - P/invoke签名

我在C++中有一个带有以下签名的dll.它在c ++中工作;

    void Decompress(unsigned char *in,int in_len,unsigned char * out,
unsigned *o_len,int *e);
Run Code Online (Sandbox Code Playgroud)

参数说明

  1. *in :传递给函数的字节数组.
  2. in_len:第一个参数中的字节长度.
  3. *out:这将是字节数组的输出.
  4. *o_len:第三个参数中没有字节
  5. *e:返回错误代码

我怎样才能从c#中调用它?

什么是P/Invoke声明?

c c# c++ pinvoke

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

文件描述符和文件指针之间有什么区别?

我想知道文件描述符和文件指针之间的区别.

此外,在什么情况下你会使用一个而不是另一个?

c file-descriptor file-pointer

106
推荐指数
5
解决办法
8万
查看次数