Ejemplo n.º 1
0
        private static bool asmstuff(string code, out string result)
        {
            if (File.Exists(mydir + "/f.s"))
            {
                File.Delete(mydir + "/f.s");
            }
            if (File.Exists(mydir + "/f.o"))
            {
                File.Delete(mydir + "/f.o");
            }
            StreamWriter file = new StreamWriter(mydir + "/f.s");

            file.WriteLine(".intel_syntax noprefix\n_main:\n" + code);
            file.Close();
            var  o   = new MyStringBuilder();
            bool res = false;

            if (exec(o, gcc, "-m32 -c f.s -o f.o"))
            {
                o.Clear();
                res = exec(o, objdump, "-z -M intel -d f.o");
            }
            result = o.ToString();
            if (File.Exists(mydir + "/f.s"))
            {
                File.Delete(mydir + "/f.s");
            }
            if (File.Exists(mydir + "/f.o"))
            {
                File.Delete(mydir + "/f.o");
            }
            return(res);
        }
Ejemplo n.º 2
0
        public void Clear(string data)
        {
            var sb = new MyStringBuilder();

            sb.Append(data);
            sb.Clear();

            Assert.AreEqual(0, sb.Count);
            Assert.AreEqual(string.Empty, sb.ToString());
            Assert.AreEqual(0, sb.ToString().Length);
        }
Ejemplo n.º 3
0
        public void Should_Check_Clear()
        {
            //arrange
            string str       = "Hello";
            string resultStr = "";

            //act
            MyStringBuilder builder = new MyStringBuilder(str);

            builder.Clear();
            var result = builder.ToString();

            //assert
            result.ShouldBeEquivalentTo(resultStr);
        }
Ejemplo n.º 4
0
 // destroyReally表示是否真的要销毁bytes,如果真的回收,则会交给GC回收掉
 public new void destroyBuilder(MyStringBuilder builder, bool destroyReally = false)
 {
     if (!isMainThread())
     {
         logError("只能在主线程中使用StringBuilderPool");
         return;
     }
     if (builder == null)
     {
         return;
     }
     builder.Clear();
     if (!destroyReally)
     {
         addUnuse(builder);
     }
     removeInuse(builder);
 }